如何将图表从Excel复制到Word?

时间:2013-09-02 17:17:36

标签: excel powershell ms-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表,选择图表并复制它。我正在打开文档但不确定如何粘贴它。

2 个答案:

答案 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