Vba 无法将形状从Word导入PowerPoint 2013;2010年在办公室工作

Vba 无法将形状从Word导入PowerPoint 2013;2010年在办公室工作,vba,ms-word,copy-paste,powerpoint,Vba,Ms Word,Copy Paste,Powerpoint,我正在编写一个PowerPoint宏,它打开Word文档并将文档中的每一张图片导入到自己的幻灯片中。因为我不能将单词InlineShape对象直接放在PowerPoint中,显然,我使用的是剪贴板。有关守则如下: Dim wdApp As Object Dim SourceDoc As Document Dim TargetSlide As Slide Dim Figures As Word.InlineShapes Dim Figure As Word.InlineShape Dim Targ

我正在编写一个PowerPoint宏,它打开Word文档并将文档中的每一张图片导入到自己的幻灯片中。因为我不能将单词InlineShape对象直接放在PowerPoint中,显然,我使用的是剪贴板。有关守则如下:

Dim wdApp As Object
Dim SourceDoc As Document
Dim TargetSlide As Slide
Dim Figures As Word.InlineShapes
Dim Figure As Word.InlineShape
Dim TargetShapeRange As ShapeRange

Set wdApp = CreateObject("Word.Application")
Set SourceDoc = wdApp.Documents.Open(FileName:=PathToFile, ReadOnly:=True)
Set Figures = SourceDoc.InlineShapes

For Each Figure In Figures
    Figure.Range.Select
    Figure.Application.Selection.Copy
    Set TargetSlide = ActivePresentation.Slides.AddSlide(ActivePresentation.Slides.Count + 1, _
      ActivePresentation.SlideMaster.CustomLayouts(6))
    Set TargetShapeRange = TargetSlide.Shapes.Paste
Next Figure
有了PowerPoint 2010和Word 2010,这项功能就完美了。在安装了Word 2013的PowerPoint 2013中,引用Microsoft Word 15.0对象库而不是14.0,Set-TargetShapeRange=TargetSlide.Shapes.Paste行显示运行时错误“-2147188160 80048240”:

形状未知成员:请求无效。剪贴板为空或包含无法粘贴到此处的数据。 我尝试在选择对象和范围对象上使用Copy和CopySpicture方法。我已尝试使用Shapes.paste特殊命令。我尝试了几种访问Word应用程序对象的不同方法。什么都不管用


值得注意的是,如果我修改代码以复制图片之外的前一段文本,那么脚本会工作,它会检索文本,但不会检索图片。

我知道这个问题已经存在将近两年了,但在遇到类似问题后,我通过谷歌发现了这个问题,所以我将在这里发布这个问题

试一试

就在复印之前。即使禁用屏幕更新或应用程序不可见,它也适用于我

Figure.Application.ActiveWindow.ScrollIntoView Selection.Range, True