如何将图表从Excel复制到Word?
我正在运行一个脚本来自动化一些我们的报告工作。
我们有来自我们的警报系统的数据,我们将其复制到一张有图表的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表格,select图表并复制它。 我打开文档,但不确定如何粘贴。
喜欢这个:
$wd.Selection.Paste()
要将图表粘贴为图片,请使用PasteSpecial
方法:
$default = [Type]::Missing $wd.Selection.PasteSpecial($default, $default, $default, $default, 9, $default, $default)
你也可以使用这样的东西:
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