Ошибка выполнения Excel «Невозможно получить свойство add класса OLEObjects» - PullRequest
3 голосов
/ 12 июня 2019

Я создаю сценарий LotusScript, который создает файл Excel со встроенными объектами. Но когда я на самом деле внедряю PDF-файл, я получаю «Невозможно получить свойство Add класса OLEObjects». К сожалению, Lotusscript не может работать с именованными аргументами, поэтому я должен передать все аргументы в правильном порядке. Не уверен, могу ли я пропустить конечные необязательные аргументы.

tempdir = "c:\data\temp"
pdfname = "20140826-32051-1890459257-300-421425-GRF.pdf"
Set xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Add
Set xlsheet = xlApp.Workbooks(1).Worksheets(1)
Set oleObjs = xlsheet.OLEObjects
Set oleObj = OLEObjs.Add("", tempdir + "\" + pdfname, False, _
True, "", "", pdfname, _
"","","","")
'Arguments: ClassType, FileName, Link,
'DisplayAsIcon, IconFileName, IconIndex, IconLabel,
'Left, Top, Width, Height

1 Ответ

4 голосов
/ 12 июня 2019

Не передавайте пустую строку, если вы хотите «пропустить» необязательный параметр: функция получает пустую строку и пытается запустить ее.

Вместо этого skip они - аргументы-заполнители выглядят так:

Set oleObj = OLEObjs.Add(, tempdir + "\" + pdfname, False, True, , , pdfname, , , , )

Не уверен, что я мог бы опустить конечные необязательные аргументы.

Я не знаюНе знаю LotusScript, но это стоит того.Это допустимо в VBA и в точности соответствует приведенному выше:

Set oleObj = OLEObjs.Add(, tempdir + "\" + pdfname, False, True, , , pdfname)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...