如何将图表从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