我正在运行一个脚本来自动执行一些报告工作。
我们有来自警报系统的数据,我们将其复制到包含图表的Excel工作表中。
然后,我们将图表从Excel工作表复制到word文档。
在你考虑我们每个月为50台服务器做这件事之前,这并不难。
我已经能够自动将数据转储到带有图表的Excel电子表格中并更新图表。我无法将图表从Excel复制粘贴到Word:
$xl = new-object -comobject excel.application
$xl.Visible = $true
$wb = $xl.workbooks.open("C:\blah\Servername_graph.xlsx")
$ws = $wb.worksheets.item(1)
$charts = $ws.ChartObjects()
$chart = $charts.Item(1)
$a = $chart.copy
$wd = new-object -comobject Word.application
$wd.visible = $true
$path = "C:\blah\doc.docx"
$doc = $wd.documents.open($path)
从代码中我可以看到,我打开excel表,选择图表并复制它。我正在打开文档但不确定如何粘贴它。
答案 0 :(得分:4)
像这样:
$wd.Selection.Paste()
要将图表粘贴为图片,请使用PasteSpecial
方法:
$default = [Type]::Missing
$wd.Selection.PasteSpecial($default, $default, $default, $default, 9, $default, $default)
答案 1 :(得分:0)
您也可以使用以下内容:
cht1.CopyPicture Appearance:=xlScreen, Format:=xlPicture
With tbl.cell(4, 1).Range
.Paste 'Paste Graph
.InlineShapes(1).ScaleWidth = 100
End With
其中tbl.cell(4, 1).Range
是对单词
此方法的优点是您没有使用.Select