我已经制作了一个vbscript来定位一些计算机并对它们进行wmi查询,我的老板希望将这些数据放在一个文档中。问题是该文档是一个Microsoft Word文档,其中包含嵌入的excel对象。现在我已经在google上进行了广泛搜索,无论如何都可以使用OLE来定位和操作对象内部和对象,但我似乎无处可去。
所以我的问题是,如果某人有一些代码,我可以查看或者可能是一个教程,甚至可以告诉我它是否可能?
答案 0 :(得分:5)
基于图表的一些注释是嵌入的Excel对象,如上所述。
''http://msdn.microsoft.com/en-us/library/aa213725(office.11).aspx
''http://msdn.microsoft.com/en-us/library/aa174298(office.11).aspx
Dim wd ''As Word.Applicatio
Dim shs ''As InlineShapes
Dim objChart ''As Excel.Chart
Dim objSheet ''As Excel.Worksheet
Dim objOLE ''As Excel.Workbook
Dim NewSrs ''As Series
Set wd=CreateObject("Word.Application")
wd.Documents.Open "C:\Docs\Doc1.docm"
wd.Visible=True
Set shs = wd.ActiveDocument.InlineShapes
''Just the one shape in this example
shs(1).OLEFormat.Activate
''The OLE Object contained
Set objOLE = shs(1).OLEFormat.Object
''The chart and worksheet
Set objChart = objOLE.Charts("chart1")
Set objSheet = objOLE.Worksheets("sheet1")
objSheet.Range("e1") = "NewData"
objSheet.Range("e2") = 11
objSheet.Range("e3") = 12
Set NewSrs = objChart.SeriesCollection.NewSeries
With NewSrs
.Name = "=Sheet1!e1"
.Values = "=Sheet1!e2:e3"
End With
MS Graph的注释
''VBA: Reference: Microsoft Graph x.x Object Library
''Graph Object Model: http://msdn.microsoft.com/en-us/library/aa198537(office.10).aspx
Dim shs ''As InlineShapes
Dim objDS ''As Graph.DataSheet
Dim objOLE ''As Graph.Chart
Set shs = ActiveDocument.InlineShapes
''The OLE Object contained
shs(3).OLEFormat.Activate
Set objOLE = shs(3).OLEFormat.Object
Set objDS = objOLE.Application.DataSheet
''00=Corners, Row titles = 01,02 ...
''Column titles = A0, B0 ...
''Cells = A1, B1 ... E9 ...
objDS.Range("E0") = "New"
objDS.Range("E1") = 11
objDS.Range("E2") = 12
objDS.Range("E3") = 9
Set objDS = Nothing
Set objOLE = Nothing
Set shs = Nothing