2010-11-05 77 views
2

我需要示例代码甚至是第三方对象,这些对象将允许我访问嵌入Word文档中的Excel对象。我已经尝试过Aspose,但他们还没有这方面的能力。有没有人做过或者你知道第三方对象?修改Word文档中的嵌入式Excel对象

回答

1

您可以在此找到一些信息:VBScript and multilevel OLE?

+0

男人啊,看起来有前途的...当我检查我的的ActiveDocument InlineShapes,计数是零(0)。我会继续玩这个。感谢您的建议。 – brian 2010-11-05 19:56:26

3

好吧,我做到了!我很欣赏Remou发布的链接。它确实提供了一些支持我度过最初的障碍后...

这里是我的代码:

 WordApp.Documents.Open("C:\Report.docx") 
     Dim iOLE As Int16 
     Dim oSheet As Object 
     Dim oOLE As Object 
     For iOLE = 1 To WordApp.ActiveDocument.Content.ShapeRange.Count 'These are the embedded objects 
      If Not WordApp.ActiveDocument.Content.ShapeRange(iOLE).OLEFormat Is Nothing Then '- make sure it is OLE 
       If WordApp.ActiveDocument.Content.ShapeRange(iOLE).OLEFormat.ProgID.Contains("Excel") Then '- make sure it's an Excel object 
        '- I have found an Excel Object!!! 
        WordApp.ActiveDocument.Content.ShapeRange(iOLE).OLEFormat.Activate() 
        oOLE = WordApp.ActiveDocument.Content.ShapeRange(iOLE).OLEFormat.Object 
        oSheet = oOLE.Worksheets(1) '- I can assert that each of them has at least one sheet and that I need the first one... 
        oSheet.Range("BB3") = "I did it!" '- setting some text to verify I made it in... 

       End If 

      End If 

     Next 

     WordApp.ActiveDocument.SaveAs("c:\temp\report_test.docx")