2010-11-05 6 views
2

J'ai besoin d'un exemple de code ou même d'un objet tiers qui me permettra d'accéder à un objet Excel intégré dans un document Word. J'ai déjà essayé Aspose et ils n'ont pas encore les capacités. Est-ce que quelqu'un l'a fait ou connaissez-vous un objet de tiers qui le fera?Modifier un objet Excel incorporé dans un document Word

Répondre

1

Vous pouvez trouver des informations ici: VBScript and multilevel OLE?

+0

homme Ah, qui avait l'air prometteur ... quand je vérifie les InlineShapes sur mon ActiveDocument, le nombre est zéro (0). Je vais continuer à jouer avec ça. Merci pour la suggestion. – brian

3

Ok, je l'ai fait! J'apprécie le lien posté par Remou. Il a fourni un soutien après que je suis passé l'obstacle initial ...

Voici mon code:

 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") 
Questions connexes