/ / Чому я отримую помилку 1004 під час виклику макросу з Word doc, але не з Excel? - excel, vba, ms-word, автоматизація

Чому я вихоплюю помилку 1004, викликаючи макрос із документа Word, але не з Excel? - excel, vba, ms-word, автоматизація

У файлі Word у мене є макрос, який відкриває файл Excel і викликає макрос у цьому файлі. (Я використовую VBA.) Це простий код з Word:

Set oExcelApp = CreateObject("Excel.Application")
Set oWorkbook = oExcelApp.workbooks.Open("C:Documents and SettingsEddyMina dokumentInsajtArbetenPridoAffärssystemwwwmodulesmod_ordereco.xls")
oExcelApp.Visible = True
oExcelApp.Run ""ECO.xls"!Ritning"

Файл Excel відкривається, і макрос запускається, але потім я отримую підказку про помилку (у перекладі з шведської мови):

Помилка під час виконання "1004" Властивість PrintArea не можна вводити для класу PageSetup

Якщо я вибираю режим налагодження, цей рядок виділяється:

.PrintArea = "$A$1:$O$49;$Q$1:$AE$49;$Q$50:$AE$97;$AG$50:$AU$97"

Весь розділ коду такий:

   If Sheets("Beräkningar").Cells(6, 2) = "4V" Then
With Sheets("Ritn").PageSetup
.PrintArea = "$A$1:$O$49;$Q$1:$AE$49;$Q$50:$AE$97;$AG$50:$AU$97"
.Zoom = 85
End With
Sheets("Ritn").PrintOut
End If

Тепер до справді дивної речі. Якщо я припиняю виклик макросу у файлі Excel і просто вручну викликаю той самий макрос, він працює як шарм. Те саме, якщо я вручну відкрию файл Excel і запускаю макрос, тоді все працює добре.

Відповіді:

0 для відповіді № 1

Спробуйте використовувати список з комою, а не крапкою з комою

.PrintArea = "$A$1:$O$49,$Q$1:$AE$49,$Q$50:$AE$97,$AG$50:$AU$97"