4

我正在运行一个脚本来自动化我们的一些报告工作。

我们有来自警报系统的数据,我们将其复制到一个包含图表的 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 表,选择图表并复制它。我正在打开文档,但不确定如何粘贴它。

4

2 回答 2

4

像这样:

$wd.Selection.Paste()

要将图表粘贴为图片,请使用以下PasteSpecial方法:

$default = [Type]::Missing
$wd.Selection.PasteSpecial($default, $default, $default, $default, 9, $default, $default)
于 2013-09-02T17:55:18.840 回答
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).Rangeword中对表格或单元格的引用在哪里

这种方法的优点是您没有使用.Select

于 2015-06-09T06:34:43.510 回答