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 に答える