Excel VBA从XL复制范围并粘贴;“仅保留文本”;在PPT中

Excel VBA从XL复制范围并粘贴;“仅保留文本”;在PPT中,excel,vba,powerpoint,paste,Excel,Vba,Powerpoint,Paste,我有一系列带字符串的单元格,我想复制并粘贴到PPT中命名的预格式化文本中。我想将其粘贴为“仅保留文本”,我知道我可以手动粘贴,但就我的一生而言,我找不到任何方法通过VBA进行粘贴 下面是一段代码: ActiveWorkbook.Worksheets("Sheet1").Range("A" & startRow & ":A" & endRow).Copy oPPTApp.ActivePresentation.Slides(17).Shapes("ShapeName").Te

我有一系列带字符串的单元格,我想复制并粘贴到PPT中命名的预格式化文本中。我想将其粘贴为“仅保留文本”,我知道我可以手动粘贴,但就我的一生而言,我找不到任何方法通过VBA进行粘贴

下面是一段代码:

ActiveWorkbook.Worksheets("Sheet1").Range("A" & startRow & ":A" & endRow).Copy
oPPTApp.ActivePresentation.Slides(17).Shapes("ShapeName").TextFrame.TextRange.PasteSpecial DataType:=ppPasteText
我不断收到此代码的错误: 运行时错误“-2147024809(80070057)”: 指定的值超出范围

我检查了剪贴板,数据肯定在那里。当我一步一步地浏览代码并在出现错误之前停止时,我可以看到我可以在PPT中将其手动粘贴为“仅保留文本”

除了在我的范围内逐串循环外,没有其他方法了吗

编辑:我已经查看了可能重复的帖子,但在检查文本框是否有文本框后,仍然没有解决问题。就好像过去的特殊保留文本只有在单元格范围内时才起作用


谢谢大家!

可能是重复的感谢肯-我没有看到这篇文章,但在阅读了它,并试图检查它是否有一个文本框第一,它仍然不工作。就好像.TextRange不支持PasteSpecial。ActiveWorkbook.Worksheets(“OpenEndCharting”).Range(“A”&startRow&“:A”&endRow)。复制opptap.ActivePresentation.Slides(17)。形状(“Column1”).HasTextFrame然后opptap.ActivePresentation.Slides(17)。形状(“Column1”).TextFrame.TextRange.PasteSpecial数据类型:=ppPasteText End IfCopy和Paste操作在VBA中经常遇到计时问题。调用粘贴时,复制操作可能尚未完成。线索是,当跨过它时,它会按预期运行。查看等待、睡眠或循环事件来解决此问题。谢谢John-这似乎也没有帮助:(我在复制后添加了10秒的等待,但在粘贴特殊行上仍然失败。我甚至尝试在PPT文本框中选择预先存在的文本,以确保我粘贴了这些文本,但仍然不起作用。