2017年5月14日日曜日

Excelで作成したグラフをリッチテキストへ貼りつける

Excel を使いグラフを作成して Notes のリッチテキストへ貼りつけるエージェントを作ってみた。

Excel データは次のような単純なもので、保存されているファイルを使う。
リッチテキストへ貼りつけるグラフは、次のような折れ線。タイトルを追加する

グラフのサイズを指定したいので、既存のシートに埋め込みグラフを追加する。
※新規にグラフシートを追加する場合、サイズの指定がよくわからない(常に最大?)

クリップボードへコピーした埋め込みグラフを新規文書のリッチテキストエリアへ貼りつける。

"Main" フォームには "Body"という名前のリッチテキストフィールドがある。

コードは以下のとおり。
Set xlApp = CreateObject("Excel.Application")
Set xlbook = xlApp.Workbooks.Open( "D:\kakaku.xlsx" ) 'Excelファイルを開く
Set xlsheet = xlbook.Worksheets(1)
xlApp.Visible = False 'Excelを非表示にする

'グラフを追加
Set xlchart = xlsheet.ChartObjects().Add( 10, 20, 500, 300 ) '追加する位置(左, 上, 幅, 高さ)
With xlchart.chart '追加したグラフ
 .SetSourceData xlsheet.UsedRange '範囲はシート内の全て
 .HasTitle = True 'タイトルを追加
 .ChartTitle.Text = "レギュラーガソリン価格"
 .ChartType = 4 'xlLine (折れ線)
 .ChartArea.Copy 'クリップボードへコピー
End With

'新規文書をUIで開き本文へ貼り付け
Set uidoc = ws.Composedocument("", "", "Main",,, True) '新規文書をMainフォームで開く
With uidoc
 .Gotofield "Body" 'Bodyフィールドへ移動
 .Paste 'グラフを貼り付け
 .Save '保存
 .Close True 'フォームを閉じる
End With

'Excelを終了
xlApp.DisplayAlerts = False
xlApp.quit
確認した環境:Notes 9.0.1 + Windows 10 + Excel 2016

0 件のコメント:

コメントを投稿