Как правильно написать и сохранить новый файл Excel?
Приложение (программа SCADA) имеет событие, которое срабатывает каждый день и запускает скрипт, который записывает файл Excel (по одному на каждый день). Файл может содержать несколько листов.
В Windows 7 с установленным Office 2007 я могу писать, но не могу сохранить и не могу выйти Excel.Application
,
Dim objExcel as Object
Set objExcel = CreateObject("Excel.Application")
objExcel.WorkBooks.Add 'I think I shouldn't do this, but if not it doesn't work
Set sheet = objExcel.ActiveWorkBook.Worksheets.Add
'writing to the actual sheet...
objExcel.ActiveWorkBook.SaveAs path$
objExcel.Workbooks.Close
objExcel.Quit
Если я запускаю скрипт вручную (из редактора скриптов):
- это экономит
- процесс Excel все еще выполняется
- Когда я открываю файл Excel (не из скрипта), он имеет 2 рабочие книги, актуальную и последнюю из последнего выполнения.
Если я попытаюсь вызвать событие:
- ошибка появляется на линии при сохранении
1 ответ
Решение
Решаемые.
Dim objExcel as Object
Dim sheet as Object
Set objExcel = CreateObject("Excel.Application")
objExcel.WorkBooks.Add
Set sheet = objExcel.ActiveWorkBook.Worksheets.Add
'writing to the actual sheet...
path$ = "path/must/use/slash/insteed/of/backslash"
objExcel.ActiveWorkBook.SaveAs path$
objExcel.ActiveWorkBook.Close
objExcel.Quit
Set objExcel = Nothing
Таким образом, проблема была path$
и я забыл поставить Set objExcel = Nothing
, Это все.