如何使用AddOLEObject将Excel图表插入Word(VBA而不是VB)

时间:2015-09-13 00:03:27

标签: excel vba excel-vba ms-word word-vba

在这个问题2262686中,给出了使用VB在Excel文档中插入Excel图表的解决方案。我喜欢这种方法,因为它不使用Copy-Paste;解决方案是:

  

...如果图表在它自己的工作表中,而不是Sheet1中的对象,   然后AddOLEObject代码使用以下设置正常工作:

     

文件名:= “!abc.xlsx Chart1”

然而,在VBA(至少在单词中)这个解决方案不起作用,似乎一旦'!'就会崩溃被添加到FileName。

有谁知道如何在MS Word中使用这种方法?

[编辑:在下方添加代码]

Sub insertChart(wbName As String)

Dim sFileName As String

sFileName = ThisDocument.Path & Application.PathSeparator & wbName

ActiveDocument.InlineShapes.AddOLEObject _
    fileName:=sFileName, LinkToFile:=False, _
    Range:=Selection.Range

End Sub

Sub myTest()

' Excel Workbook with Chart in it. Chart is added to document IF:
' - it is in its own sheet
' - it is first sheet in workbook
insertChart "myWorkBook.xlsx"

' What fails is attempt to address a specific (or multiple)
' chart in the WorkBook by using the "myWorkBook.xlsx!Chart1"
' apparently this works in VB but not VBA...

End Sub

0 个答案:

没有答案