【问题标题】:how to paste table from excel to powerpoint 2007 as default using vba如何使用 vba 默认将表格从 excel 粘贴到 powerpoint 2007
【发布时间】:2016-01-25 19:09:10
【问题描述】:

我想使用 vba 将表格从 excel 粘贴到 powerpoint。 我正在使用PowerPoint 2007版。 我能够成功粘贴 ppEnhancedmeta 文件。 但是粘贴到 ppPasteDefault 时出现问题。 ** 它给出错误“形状(未知成员):无效请求。剪贴板为空或包含可能无法粘贴到此处的数据**

Sub excel_to_powerpoint()     
Dim PPApp As PowerPoint.Application
Dim PPPres As PowerPoint.Presentation
Dim PPSlide As PowerPoint.Slide
Set PPApp = New PowerPoint.Application
PPApp.Visible = True
PPApp.Activate 
Set PPPres = PPApp.Presentations.Add
Set PPSlide = PPPres.Slides.Add(1, ppLayoutBlank)
Sheet2.Range("A1:C5").Copy
For i = 1 To 50000: DoEvents: Next
PPSlide.Shapes.PasteSpecial ppPasteDefault
Set myshape = PPSlide.Shapes(PPSlide.Shapes.Count)
myshape.Left = 50
myshape.Top = 50
Application.CutCopyMode = False
End Sub

有人知道我在哪里做错了。 谢谢

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我想通了。 我不知道问题出在哪里。 但对我有用的解决方案是更换 PPSlide.Shapes.PasteSpecial ppPasteDefaultPPApp.ActiveWindow.View.PasteSpecial DataType:=ppPasteDefault

    谢谢

    【讨论】:

      【解决方案2】:

      试试

      PPSlide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
      

      代替

      PPSlide.Shapes.PasteSpecial ppPasteDefault
      

      这在 MS Office 2010 上适用于我,但是我没有 2007,因为你这样做了,所以这可能不起作用。

      找到这个代码here

      希望对你有帮助

      【讨论】:

      • 嗨,@Mr.Burns:感谢您的回复。此代码粘贴表格,但它的编辑不像简单表格那么简单。用于编辑的方法不太好。我们需要双击表格n然后编辑n,它也会像在excel表中一样打开表格。 PPSlide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse 我想像手动一样简单地粘贴表格。谢谢。
      • 嗨,请帮帮我。我已经尝试了很多东西。没有任何工作:(谢谢
      • 只是为了澄清您是否希望代码将表格粘贴到 PowerPoint 中以使其为空白或仍包含您输入的信息?
      • 嗨,它包含信息。我想将其粘贴到 powerpoint 中以减少手动复制和粘贴任务。感谢您的帮助。
      • 好的,我已经对代码进行了更多测试,因为它确实将表格粘贴到我输入的任何信息中,如果您希望代码在 PowerPoint 中保持表格更新,那么我建议您使用公式而不是代码(=Index,=Match 函数),除此之外,我认为我无法提供更多帮助,因为代码的工作方式与您需要的方式不同
      猜你喜欢
      • 1970-01-01
      • 2011-11-21
      • 1970-01-01
      • 1970-01-01
      • 2015-02-06
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多