Всем привет!
написал следующий скрипт в Тиа Портал 15
"Sub WriteToExcel()
Dim a
Set a = CreateObject ("Excel.Application")
a.Visible = True
a.Workbooks.Open "E:\TIA_To_Excel\Test_Excel_File.xls"
a.cells(1,1).Value = SmartTags("Temperature")
a.cells(1,2).Value = SmartTags("Pressure")
a.Workbook.SaveAs "E:\TIA_To_Excel\Test_Excel_File.xls"
a.Workbooks.Close
a.Quit
Set a = Nothing
End Sub"
Файл открывает, значения в ячейки пишет, дальше должен файл сохранить и закрыть, но у меня файл не сохраняется и закрытия не происходит. В чем может быть проблема? компилятор ошибок не выдает
- Обязательно представиться на русском языке кириллицей (заполнить поле "Имя").
- Фиктивные имена мы не приветствуем. Ивановых и Пупкиных здесь уже достаточно.
- Не надо писать свой вопрос в первую попавшуюся тему - всегда лучше создать новую тему.
- За поиск, предложение и обсуждение пиратского ПО и средств взлома - бан без предупреждения. Непонятно? - Читать здесь.
- Рекламу и частные объявления "куплю/продам/есть халтура" мы не размещаем ни на каких условиях.
- Перед тем как что-то написать - читать здесь, а затем здесь и здесь.
- Не надо писать в ЛС администраторам свои технические вопросы. Администраторы форума отлично знают как работает форум, а не все-все контроллеры, о которых тут пишут.
Скрипт не сохраняет Excel файл
Модератор: Глоб.модераторы
-
- здесь недавно
- Сообщения: 35
- Зарегистрирован: 02 фев 2023, 10:38
- Имя: Владимир
- Страна: РФ
- город/регион: Восьмипалатинск
- Благодарил (а): 4 раза
- Поблагодарили: 12 раз
Скрипт не сохраняет Excel файл
Либо так:
a.ActiveWorkbook.SaveAs "E:\TIA_To_Excel\Test_Excel_File.xls"
a.ActiveWorkbook.Close
a.Quit
Set a = Nothing
Либо так (в Вашем примере используется то же самое имя):
a.ActiveWorkbook.Save
a.ActiveWorkbook.Close
a.Quit
Set a = Nothing
А в целом лучше через явный референс на книгу сделать:
Set a = CreateObject("Excel.Application")
a.Visible = True
Set b = a.Workbooks.Open("E:\TIA_To_Excel\Test_Excel_File.xls")
b.Worksheets(1).Cells(1, 1).Value = SmartTags("Temperature")
b.Worksheets(1).Cells(1, 2).Value = SmartTags("Pressure")
b.SaveAs "E:\TIA_To_Excel\Test_Excel_File.xls"
'либо b.Save
b.Close
a.Quit
Set a = Nothing
-
- не первый раз у нас
- Сообщения: 396
- Зарегистрирован: 28 сен 2022, 15:26
- Имя: Андрей
- Благодарил (а): 12 раз
- Поблагодарили: 54 раза
Скрипт не сохраняет Excel файл
Вы работаете через объект Application, а у него нет свойства Workbook, есть только Workbooks
т.ч., думаю, достаточно будет эту строчку переписать как
a.ActiveWorkbook.SaveAs "E:\TIA_To_Excel\Test_Excel_File.xls"
Поторопился. Это
вообще убрать. Workbooks - это коллекция, нет у неё Close.
Достаточно Quit у Application
-
- осмотрелся
- Сообщения: 123
- Зарегистрирован: 10 окт 2022, 14:26
- Имя: Александр
- Страна: Россия
- город/регион: Санкт-Петербург
- Благодарил (а): 28 раз
- Поблагодарили: 9 раз
Скрипт не сохраняет Excel файл
вот это помогло) все сохраняется и закрывается теперь) делал по видео с ютуба изначально) Бэйсик не знаю совсем) Спасибо) буду дальше ковырять тему)