1 (изменено: CyberGudini, 2021-10-28 19:15:14)

Тема: AHK: редактирование файла excel не открывая его

Я могу прочитать закрытый документ:


FilePath := "D:\123.xlsx"	; specify your path here
oWorkbook := ComObjGet(FilePath)
CellF6Value := oWorkbook.Worksheets("Лист1").Range("A2").Value

MsgBox, % CellF6Value

Но вот когда пытаюсь его изменять ничего не происходит:


FilePath := "D:\123.xlsx"	; specify your path here
oWorkbook := ComObjGet(FilePath)
oWorkbook.Worksheets("Лист1").Range("A2").Value := "56"

Почему? И как исправить? Подскажите  пожалуйста.

2

Re: AHK: редактирование файла excel не открывая его

CyberGudini, напоминаю о необходимости ставить точки в конце предложений. Исправьтесь и не грешите больше.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: редактирование файла excel не открывая его

teadrinker Извините. Исправил.
teadrinker Подскажите пожалуйста как решить проблему.

4

Re: AHK: редактирование файла excel не открывая его

Наверно сохранить изменения надо и закрыть oWorkbook, иначе она у вас так открытой и останется.
Workbook.Close method

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5 (изменено: inseption86, 2021-10-28 21:08:47)

Re: AHK: редактирование файла excel не открывая его

CyberGudini


xl := ComObjCreate("Excel.Application")
path := A_Desktop "\1.xlsx"
book := xl.workbooks.Open(path)
book.worksheets(1).Range("A2").Value := "56"

book.close(true)
xl.quit
ExitApp

6

Re: AHK: редактирование файла excel не открывая его

inseption86 пишет:
path := % A_Desktop "\1.xlsx"

Зачем здесь знак процента?

inseption86 пишет:
book.save
book.close(false)

А не проще

book.close(true)

?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

7

Re: AHK: редактирование файла excel не открывая его

teadrinker
Проще, спс.

8 (изменено: CyberGudini, 2021-10-28 21:50:30)

Re: AHK: редактирование файла excel не открывая его

inseption86, teadrinker спасибо Вам! Работает как часы!

book := xl.workbooks.Open(path)

Я уже использовал подобный код, но он прямо открывал документ. Я не знал что использовав это в связке с командой закрытия, документ не будет явно открываться.