С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBScript/JScript/WSH/WMI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
8 / 8 / 1
Регистрация: 09.10.2013
Сообщений: 613
VBS

Сохранение открытого экселевского файла

12.02.2015, 09:32. Показов 4301. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как сохранить открытый экселевский файл с текущей датой в имени файла.Сохранение осуществить в ту же папку, где и был открыт экселевский файл. Буду рад любой помощи. Заранее благодарен!
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
12.02.2015, 09:32
Ответы с готовыми решениями:

Сохранение открытого файла
Доброго дня суток, помогите справится с проблемкой. Суть такова, делаю что то на подобии телефонного справочника, соответственно у каждой...

Сохранение файла под именем открытого ранее файла
Как правильно реализовать "сохранить"."Сохранить как " сделано: void Sdvigatel::on_saveAsAction_triggered() { ...

Сохранение открытого файла в richTextBox
помогите плиз реализовать сохранение отредактированного файла, уже открытого через openFileDialog. т.е. например нажимаю на кнопку...

10
Модератор
Эксперт JS
 Аватар для Eva Rosalene
5241 / 2115 / 416
Регистрация: 06.01.2013
Сообщений: 4,846
12.02.2015, 10:25
adb420, Вам это необходимо именно скриптом на VBS или все же макросом на VBA?
0
8 / 8 / 1
Регистрация: 09.10.2013
Сообщений: 613
12.02.2015, 10:42  [ТС]
FraidZZ, хотелось бы все таки скриптом на vbs, но если vbs никак, то можно и макрасом на vba будет
0
Ушел с CyberForum совсем!
874 / 183 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
12.02.2015, 11:29
в vba работает. а в vbs в 25 строке ошибку находит
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub vv()
Dim xlON$, xlNN$, xlExt$, dat$
 Set xlApp = GetObject(, "Excel.Application")
   On Error Resume Next
   Set xldoc = xlApp.ActiveWorkbook
   If Err.Number <> 0 Then
      Wscript.Echo "Îøèáêà îòêðûòèÿ öåëåâîãî äîêóìåíòà"
      Exit Sub
   End If
xlPath = xldoc.Path
xlON = xldoc.Name
dat = Format("dd-mm-yy", Now())
xlExt = Right(xlON, InStrRev(xlON, ".") - 1)
xlNN = Left(xlON, InStr(xlON, ".") - 1)
xldoc.SaveAs Filename:=xlNN & dat & xlExt
End Sub
0
8 / 8 / 1
Регистрация: 09.10.2013
Сообщений: 613
12.02.2015, 11:34  [ТС]
Surrogate,
Цитата Сообщение от Surrogate Посмотреть сообщение
а в vbs в 25 строке ошибку находит
так код из 16 строк состоит, который Вы мне скинули
0
Ушел с CyberForum совсем!
874 / 183 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
12.02.2015, 11:48
попробуй этот, что не идет в vbs
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim xlApp
Dim xlDoc
dim xlON
dim xlNN
dim xlPath
dim xlExt
dim dat
dim nn
Proc
sub Proc()
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Set xlApp = GetObject( ,"Excel.Application")
   On Error Resume Next
   Set xlDoc = xlApp.activeworkbook
   If Err.Number <> 0 Then
      Wscript.Echo "Ошибка открытия целевого документа"
      Exit Sub
   End If
xlPath = xlDoc.path
xlON = xldoc.Name
dat = Format("dd-mm-yy", Now())
xlExt = Right(xlON, InStrRev(xlON, ".") - 1)
xlNN = Left(xlON, InStr(xlON, ".") - 1)
nn = xlNN & dat & xlExt
xldoc.saveas NN
xlDoc.Close, savechanges:=False
set xlDoc = nothing
xlApp.Quit
set xlApp = nothing
End Sub
0
8 / 8 / 1
Регистрация: 09.10.2013
Сообщений: 613
12.02.2015, 12:01  [ТС]
Surrogate, что то все равно не так работает. из под vba, не понятно куда сохраняет(не сохраняет в ту папку, где был открыт файл эксель), из под vbs ругается на 26 строку
Visual Basic
1
xlDoc.Close, savechanges:=False
убрал :, оставил просто =, ругаться перестал, но и не сохраняет тоже
0
Ушел с CyberForum совсем!
874 / 183 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
12.02.2015, 13:16
Лучший ответ Сообщение было отмечено adb420 как решение

Решение

думаю это излишне закрывать открытую книгу экселя. это мой второй опыт работы с VBS
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Dim xlApp
Dim xlDoc
dim xlON
dim xlNN
dim xlPath
dim xlExt
dim dat
dim NN
dim d
Proc
sub Proc()
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Set xlApp = GetObject( ,"Excel.Application")
   On Error Resume Next
   Set xlDoc = xlApp.activeworkbook
   If Err.Number <> 0 Then
      Wscript.Echo "Ошибка открытия целевого документа"
      Exit Sub
   End If
xlPath = xlDoc.path
xlON = xldoc.Name
d = InStr(xlON, ".") 
dat = replace(left(Now(),10),".","_")
xlExt = Right(xlON, d - 1)
xlNN = Left(xlON, len(xlon) - d+1)
NN = xlpath & "\" & xlNN & "-" & dat & xlExt
msgbox NN
xldoc.SaveCopyAs NN
set xlDoc = nothing
set xlAp
вроде работает
1
8 / 8 / 1
Регистрация: 09.10.2013
Сообщений: 613
12.02.2015, 13:43  [ТС]
Surrogate, и в правду работает!) спасибо)
а как сделать так ,что бы экселевский файл после этого еще и закрывался...
и проверку наверно какую-то надо, если файл не открыт, то выдать сообщение, что файл не открыт.

Добавлено через 6 минут
спасибо! надеюсь на помощь и в этих двух вопросах!)
0
Ушел с CyberForum совсем!
874 / 183 / 25
Регистрация: 04.05.2011
Сообщений: 1,020
Записей в блоге: 110
12.02.2015, 17:12
Цитата Сообщение от adb420 Посмотреть сообщение
надеюсь на помощь и в этих двух вопросах!)

Не по теме:

надеюсь кто-нибудь еще откликнется, сегодня я уже не помошник :)



Добавлено через 3 часа 13 минут
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Dim xlApp
Dim xlDoc
dim xlON
dim xlNN
dim xlPath
dim xlExt
dim dat
dim NN
dim d
Proc
sub Proc()
   Set FSO = CreateObject("Scripting.FileSystemObject")
   Set xlApp = GetObject( ,"Excel.Application")
if xlApp.workbooks.count = 0 then 
Wscript.Echo "Нет открытых книг"
Exit Sub
Else
Set xldoc = xlApp.activeworkbook
xlPath = xlDoc.path
xlON = xldoc.Name
d = InStr(xlON, ".") 
dat = replace(left(Now(),10),".","_")
xlExt = Right(xlON, len(xlon) - d+1)
xlNN = Left(xlON, d - 1)
NN = xlpath & "\" & xlNN & "-" & dat & xlExt
Wscript.Echo NN
xldoc.SaveCopyAs NN
xldoc.close false
set xlDoc = nothing
set xlApp = nothing
End If
End sub
Добавлено через 11 минут
PS не осилил, как сделать чтоб вылетало сообщение если Эксель не открыт
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18030 / 7733 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
24.02.2015, 19:22
Surrogate,
Поставить обработчик ошибок (On Error Resume Next) перед GetObject.
Затем проверять по коду ошибки Err.Number.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.02.2015, 19:22
Помогаю со студенческими работами здесь

Как сделать сохранение открытого файла автоматически через каждые 2 мин. в три папки одновременно?
как сделать сохранение открытого файла автоматически через каждые 2 мин. в три папки одновременно

Проигрывание музального файла, находящегося внутри экселевского файла
Я видел тему &quot;Как воспроизвести .mp3 файл на Visual Basic 6.0? - Visual Basic&quot; и нашел там два замечательных способа вызова музыкального...

Как данные из экселевского файла перенести в матрицу?
Есть код как вытащить данные из экселевского файла. А как их занести потом в матрицу? (нужно потом посчитать среднее арифметическое каждого...

нужно чтобы данные из экселевского файла водились в программу
Привет!!! кто нибудь сможет помочь?? нужно чтобы данные из экселевского файла водились в программу,,,обрабатывалось и выводила...

Как можно осуществлять чтение-запись ячеек экселевского файла?
собственно subj. интересует вопрос, как это можно сделать в обход объекта Workbook (ввиду отсутствия такового - ну не подключается у меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и источниками (напряжения, ЭДС и тока). Найти токи и напряжения во всех элементах. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru