如何将单元格区域从Excel复制到PowerPoint - VBA

ipe*_*per 5 excel powerpoint vba

我找不到任何办法这样做.我现在拥有的是它将范围复制为图像:

Dim XLApp As Excel.Application 
Dim PPSlide As Slide 

Set XLApp = GetObject(, "Excel.Application") 
XLApp.Range("A1:B17").Select 
XLApp.Selection.CopyPicture Appearance:=xlScreen, Format:=xlPicture
PPSlide.Shapes.Paste.Select
Run Code Online (Sandbox Code Playgroud)

这就像一个魅力,但它是否可以让它将范围复制为表而不是图片?

Sim*_*wen 9

这可以简单地完成

Dim XLApp As Excel.Application
Dim PPSlide As Slide

Set XLApp = GetObject(, "Excel.Application")
XLApp.Range("A1:B17").Copy
PPSlide.Shapes.PasteSpecial DataType:=ppPasteOLEObject, Link:=msoFalse
Run Code Online (Sandbox Code Playgroud)


Pow*_*ser 2

好吧,如果我手动复制它,我可能会执行选择性粘贴并选择“格式化文本(RTF)”作为类型。我相信你可以在 VBA 中模仿它。

编辑

啊啊,我们开始吧。在你的幻灯片中执行此操作:

  1. 转到插入->对象
  2. 选择您的 Excel 文件。检查链接选项。

XL 文件的链接现已嵌入到 PP 文件中。当 XL 文件中的数据发生更改时,您可以:

  1. 通过右键单击->更新链接手动更新它。
  2. 通过 VBA 自动更新它,使用类似ActivePresentation.UpdateLinks

这是一种与您最初所做的非常不同的方法,但我相信它会让您更接近您的目标。虽然它有自己的问题,但这些问题是可以解决的。