我正在使用以下组合:
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。点,使其适合放置在10 x 20点的单元内。我不希望同时显示Icon标签文本,也不显示Acrobat图片。
以上Application.DocumentExport命令的工作原理与拍摄时完全相同,即使许多页面很长,也将pdf源的副本保存为pdf。
OLEObjects.Add命令可以使用,但是不允许我调整图标的大小,因此它适合我要放置的excel单元格。
TOffset是从excel页面顶部到要放置图标的单元格顶部的点的总和。上面的Width和Height应该以磅为单位表示大小值,但无论上面是否带有.OLEObjects.Placement命令,它们都无法正常工作。
我尝试运行相同的2条命令,但在命令的OLEObjects字符串中忽略了IconIndex字段和值。这产生了具有所需尺寸的所需矩形框,但是由于能够保存excel文件而导致了一些内部excel问题-由于该excel文件遭到严重损坏,该应用无法分配我的文件。我将错误跟踪为在OLEObjects字符串中没有IconIndex字段名。 IconIndex在OLEObjects.Add Microsoft页面上显示为可选条目。 如果我为IconValue分配了除0以外的任何整数值,则该图标将被创建为透明,但尺寸与IconIndex:= 0相同。
最终目标是获取保存的PDF,并将包含pdf文件副本的图标放入excel工作表上的特定单元格,该单元格的操作类似于按钮,并允许我在标题的标题上写一个简短的标识符图标。
最终结果是一个独立的工作簿,可以分发该工作簿,并且还需要使用它复制/粘贴应用程序创建的所有pdf。
对于一些线索,例如我如何调整图标的大小,使用按钮而不是OLEOPbjects.add等,我将非常感激。 PDF。最后,我想要的是一个工作表,我可以用它在图标中保存我创建的所有不同打印输出的PDF。
谢谢
答案 0 :(得分:0)
Dim TOffset As Integer
xlbook.Sheets("Task Graphics").Select
With xlbook.ActiveSheet
.Range("B2").Select
TOffset = .Range("A1:A" & row - 3).Height - 11
.Cells(row - 3, 18) = Format(LFin - 30, "mm/dd/yy")
.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:=1080, Top:=TOffset).Select
.OLEObjects.Placement = 1
.OLEObjects.ShapeRange.LockAspectRatio = msoFalse
.OLEObjects.Width = 14
.OLEObjects.Height = 10
sbDeleteAFile (SaveFileName)
End With
此答案将图标放置在单元格的左侧,在同一单元格中留出空格以输入一些文本(LFin-30),这是一个日期。不确定为什么必须将Width和Height声明与OLEObjects语句分开,因为OLEObjects.add引用显示Width和Height是Icon的属性。
我剩下的唯一问题是,当您单击图标时,“编辑”符号(图标的四个角都有编辑圆圈),并且如果完全拖动图标,它可能会调整大小。