所以我试图了解我的代码出了什么问题。我所要做的只是在Excel工作簿中绘制一些图表并将其导出到Word文档,但是如果尝试以某种方式粘贴它们,则会出现错误。这是我的代码:
Sub ExportingToWord_MultiplePages2()
'Declare Word Variables
Dim WrdApp As Word.Application
Dim WrdDoc As Word.Document
'Declare Excel Variables
Dim ChrtObj As ChartObject
'Create a new instance of Word
Set WrdApp = New Word.Application
WrdApp.Visible = True
'Create a new word document
Set WrdDoc = WrdApp.Documents.Add
'Loop through the charts on the active sheet
For Each ChrtObj In ActiveSheet.ChartObjects
'Copy the chart
ChrtObj.Chart.ChartArea.Copy
**'THIS WON'T RETURN AN ERROR**
With WrdApp.Selection
.PasteAndFormat Type:=wdChartPicture
End With
'**THIS WILL RETURN THE ERROR**
With WrdApp.Selection
.PasteAndFormat Type:=wdChartLinked
End With
'Clear the Clipboard.
Application.CutCopyMode = False
Next ChrtObj
End Sub
这是一个很奇怪的部分,因为我提供了两种不同的粘贴方式,第一种是将其粘贴为图表图片,并且效果很好。但是,如果我尝试 wdChart 或 wdChartLinked ,它将无法正常工作!我收到错误4605“命令不可用”。
有什么关于为什么会这样的想法?
答案 0 :(得分:1)
所以我找到了解决该问题的方法,但是我仍然不确定为什么PasteFormat无法与链接的图表一起使用。
如果我替换:
'**THIS WILL RETURN THE ERROR**
With WrdApp.Selection
.PasteAndFormat Type:=wdChartLinked
End With
通过以下操作,我不再遇到错误:
'**THIS WILL NOT RETURN AN ERROR**
With WrdApp.Selection
.PasteSpecial Link:=True, DataType:=wdPasteOLEObject
End With
我想它必须与图表的格式或其他功能有关,但是我仍然感到奇怪的是,我可以使用PasteFormat将其粘贴为图片,而不是作为链接的图表。