Как правильно написать и сохранить новый файл 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, Это все.

Другие вопросы по тегам