粘贴到powerpoint VBA时覆盖

时间:2017-03-28 19:07:28

标签: vba powerpoint

如果我的powerpoint中有文字(形状)。如何修改我的代码不是为了创建一个新形状而是覆盖其中的值。

下面的代码会创建一个新形状。 任何想法?

Private Sub test()
Dim xlApp As Object
Dim xlWorkBook As Object

Set xlApp = CreateObject("Excel.Application")
xlApp.Visible = False
Set xlWorkBook = xlApp.Workbooks.Open("D:\ELE_powerpoint\book1.xlsx", True, False)

With xlWorkBook.ActiveSheet
xlWorkBook.sheets(1).Range("A2").Copy
End With

ActivePresentation.Slides(1).Shapes.Paste.Select

Set xlApp = Nothing
Set xlWorkBook = Nothing


End Sub

2 个答案:

答案 0 :(得分:1)

让我们使用变量而不是像这样复制和粘贴

window.addEventListener('scroll', function(e) {
  // Here you want to determine your conditions
  // (how close to the bottom, if the footer is in view etc)
  // and make any changes you want to happen

});

然后您可以设置像这样的

形状的文本值
mytext = xlWorkBook.sheets(1).Range("A2")

在此处阅读有关如何设置形状名称的信息:How to name an object within a PowerPoint slide?

答案 1 :(得分:1)

您需要找到要粘贴的形状的索引。说它是索引2

然后使用

ActivePresentation.Slides(1).Shapes(2).TextFrame.TextRange.Paste