Я использую комбинацию:
Application.DocumentExport SaveFileName, pjPDF, FromDate:=EarliestStart-30, ToDate:=LFin+30
and
xlbook.activesheet.OLEObjects.Add(FileName:="C:\Macros\Target-" & t & ".pdf", Link:=False, _
DisplayAsIcon:=True, IconFileName:= _
"C:\windows\Installer\{AC76BA86-1033-FFFF-7760-0E0F06755100}\_PDFFile.ico", _
IconIndex:=0, IconLabel:="Target-" & t, Left:=1082, Top:=TOffset, Width:=5, Height:=5).Select
xlbook.activesheet.OLEObjects.Placement = 1 'Move and Size with cells
с целью размещения значка на листе Excel в определенной ячейке. При запуске с этими командами я получаю квадратную иконку размером около 50 x 50 точек с символом акробата, отображаемым над текстом, т. Е. «189.PDF, обозначенным как IconLabel выше. Я пытаюсь изменить размер значка до 8 x 18. точек, чтобы он помещался внутри ячейки размером 10 x 20. Я бы предпочел не отображать изображение Acrobat, а только текст IconLabel.
Вышеприведенная команда Application.DocumentExport работает точно так же, как она снималась, сохраняя копию исходного pdf-файла в pdf-файл, даже если он содержит много страниц.
Команда OLEObjects.Add работает, но не позволяет изменить размер значка, чтобы он поместился в ячейке Excel, где я хочу его разместить.
TOffset — это сумма точек от верхней части страницы Excel до верхней части ячейки, в которую я хочу поместить значок. Ширина и высота выше должны представлять значения размера в точках для значка, но они не работают ни с командой .OLEObjects.Placement, ни без нее.
Я попытался запустить те же две команды, но исключил поле IconIndex и значение из строки команд OLEObjects. Это привело к получению желаемых прямоугольных блоков желаемых размеров, но вызвало некоторые внутренние проблемы Excel с возможностью сохранения файла Excel --- приложение не разрешило мне сохранить файл из-за серьезного повреждения файла Excel. Я проследил ошибку до отсутствия имени поля IconIndex в строке OLEObjects. IconIndex отображается как необязательная запись на странице OLEObjects.Add Microsoft. Если я назначу IconValue любое целочисленное значение, отличное от 0, то значок будет создан прозрачным, но его размеры будут такими же, как если бы IconIndex:=0.
Конечная цель состоит в том, чтобы взять сохраненный PDF-файл и поместить значок, содержащий копию файла PDF, в определенную ячейку на листе Excel, которая работает аналогично кнопке и позволяет мне написать короткий идентификатор в подписи к значку.
Конечным результатом является автономная рабочая книга, которую можно распространять с необходимостью также копировать/вставлять вместе с ней все PDF-файлы, созданные приложением.
Был бы признателен за некоторые наводки относительно того, как я могу изменить размер значков, использовать кнопки вместо OLEOPbjects.add и т. д. Я пробовал гиперссылки, но затем у меня есть большая книга из многих, многих листов, каждый из которых содержит один PDF-файл. В конце концов, мне нужен один рабочий лист, который я могу использовать для хранения PDF-файлов в значках для всех различных распечаток, которые я создал.
Спасибо