DioDocs for Excel
DioDocs for Excel
リンクされた図
機能 > 図形と画像 > リンクされた図

リンクされた図は、コピーされたセル範囲のリアルタイムな動的スナップショットを指します。つまり、コピーされたセル範囲の値が変更されると、そのスナップショットの値も自動的に更新されます。Microsoft Excelでは、この機能は「リンクされた図」という名前の特別な貼り付けオプションとして提供されています。また、この機能は、動的に変化する画像を表示したり、使用可能なスペースに応じて画像のサイズを変更したりできるため、ダッシュボードやレポートの場合に特に便利です。

DioDocs for Excelでは、IShapes インターフェースの AddCameraPicture メソッドを使用して、動的にリンクされた図を作成できます。このメソッドは、リンクされた図の参照元の範囲と、図の追加先の位置座標をパラメータとして受け取ります。また、このメソッドのオーバーロードを使用して、リンクされた図の追加先のセル範囲を直接指定することもできます。リンクされた図も単なる画像なので、他の画像と同じようにサイズや書式を変更することができます。

C#
コードのコピー
Workbook workbook = new Workbook();
workbook.ActiveSheet.Range["A1"].Interior.Color = Color.Blue;
workbook.ActiveSheet.Range["B5"].Interior.Color = Color.Yellow;
//リンクされた図を追加します
IShape shape = workbook.ActiveSheet.Shapes.AddCameraPicture("=$A$1:$B$4", 100, 100);

//特定のセル範囲にリンクされた図を追加します
//IShape shapeRange = workbook.ActiveSheet.Shapes.AddCameraPicture("=$A$1:$B$5", worksheet.Range["G1:H5"]);

workbook.Save("LinkedPicture.xlsx");
メモ: 追加先として指定するセル範囲とリンクされた図は同じワークシートに存在する必要があります。そうでない場合、InvalidOperationException が発生します。

リンクされた図の書式

リンクされた図を透明な背景で表示するかどうかを設定するには、IPictureFormat.TransparentBackGround プロパティに true を設定します。

C#
コードのコピー
//透明な背景を設定します
shape.PictureFormat.TransparentBackground = true;
//透明度を設定します
shape.PictureFormat.Transparency = 0.8;

リンクされた図を通常の参照なしの画像に変換するには、IPictureFormat.Reference プロパティに null を設定します。一方、通常画像のこのプロパティに参照に設定すると、リンクされた図に変換されます。通常の画像とリンクされた図の変換に関する詳細な実装方法については、DioDocs for Excelのサンプルブラウザを参照してください。