使用vba嵌入对象并在ppt中显示为图标

问题描述 投票:0回答:1

我正在尝试自动化生成的指标。我已经自动化了 Excel 中的数据操作,并且自动化了将图表复制到 PowerPoint。现在我正在尝试在幻灯片末尾自动嵌入文档。我们嵌入 4 个文档作为图标。我可能会包含删除旧图标的代码,但现在我只想将它们放在 ppt 上。到目前为止,这是我的代码:我对代码做了一些修改。

dim ppt_app as new powerpoint.application
dim mypres as powerpoint.presentation, myslide as powerpoint.slide
dim osh as powerpoint.shape
code to get month, year and day

我使用日期来设置工作簿和 ppt,就像文件名中的那样

code to set different date iterations like yyyymmdd, yyyy_mm_dd, etc.
set mypres = ppt_app.Presentation("string1" & dtvariable & ".pptx")
n= mypres.slides.count
set myslides = mypres.slides(n-1) 'slide to embed the documents

fpath = "string for central loc"
v1 = "string1" & dtvariable & ".pdf"
v2 = "string2" & dtvariable & ".xlsx"

myslides.shapes.addOLEobject (filename:=fpath & v1, link:=msofalse, displayasicon:=msotrue, iconlabel:=v1, iconindex:=5, confiliename:="C:\Windows\Installer\{90160000-000F-0000-1000-0000000FF1CE}\xlicons.exe" 

当我输入删除图标的代码时,我会将索引更改为1

with osh
    .Left = 2.29 * 72
    .Top = 2.49 * 72
    .Height = 0.84 * 72
    .Width = 1 * 72
End With

我尝试使用其他问题并遵循这些示例并尝试匹配我的代码,但我仍然无法让它正常工作。我让它工作了一些,因为它会显示 pdf 文档的第一页,但显然这不是我想要做的。谢谢。

excel vba powerpoint oledb
1个回答
0
投票

这对我有用:

Sub Tester()
    With ActivePresentation.Slides(1)
        .Shapes.AddOLEObject Top:=100, Left:=100, _
                     FileName:="C:\Temp\logo.png", _
                     DisplayAsIcon:=msoTrue, _
                     link:=msoFalse, _
                     iconfilename:="C:\Temp\icon.ico", _
                     iconindex:=0, _
                     iconlabel:="Test"
    End With
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.