GolangからC++を使って、行や範囲をコピーしながらチャートのデータソースを宛先ワークシートに変更する

可能な使用シナリオ

新しいワークシートにチャートを含む行や範囲をコピーすると、チャートのデータソースは変更されません。例えば、チャートのデータソースが =Sheet1!$A$1:$B$4 の場合、行や範囲を新しいワークシートにコピーした後も、データソースは同じ =Sheet1!$A$1:$B$4 のままで、古いシート(Sheet1)を参照し続けます。これはMicrosoft Excelでも同じ挙動です。ただし、宛先ワークシートを参照させたい場合は、CopyOptions.GetReferToDestinationSheet() プロパティを使用し、Cells.CopyRows() メソッドを呼び出す際に true に設定してください。例えば、宛先ワークシートが DestSheet の場合、チャートのデータソースは =Sheet1!$A$1:$B$4 から =DestSheet!$A$1:$B$4 に変わります。

行や範囲をコピーする際に、チャートのデータソースを宛先ワークシートに変更する

次のサンプルコードは、チャートを含む行や範囲を新しいワークシートにコピーする際に、CopyOptions.GetReferToDestinationSheet()プロパティの使用例を示しています。このコードはサンプルExcelファイルを使用し、出力Excelファイルを生成します。

todo:image_alt_text