作成日: 2024/02/21 最終更新日: 2024/02/21
文書種別
技術情報
詳細
IShapesインタフェース の AddPictureToCellメソッド または AddPictureメソッドで、画像ファイルを指定して画像を埋め込んだシェイプを配置することができます。
シェイプの追加位置は、AddPictureToCellメソッドではセルインデックスで指定し、AddPictureメソッドではシートの座標(ピクセル単位)で指定します。
なお、拡張シェイプ機能は新しいスタイル(LegacyBehaviors≠Style)でのみ使用することができ、EnhancedShapeEngineプロパティをTrueに設定することで有効になります。
シェイプの追加位置は、AddPictureToCellメソッドではセルインデックスで指定し、AddPictureメソッドではシートの座標(ピクセル単位)で指定します。
なお、拡張シェイプ機能は新しいスタイル(LegacyBehaviors≠Style)でのみ使用することができ、EnhancedShapeEngineプロパティをTrueに設定することで有効になります。
◎サンプルコード(VB)
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' 拡張シェイプを有効にする
FpSpread1.Features.EnhancedShapeEngine = True
FpSpread1.ActiveSheet.Columns(1).Width = 60
FpSpread1.ActiveSheet.Rows(1).Height = 50
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' アクティブセルのインデックスを取得する
Dim row = FpSpread1.ActiveSheet.ActiveCell.Row.Index
Dim col = FpSpread1.ActiveSheet.ActiveCell.Column.Index
' アクティブセルの高さと幅を取得する
Dim row_h = FpSpread1.ActiveSheet.ActiveCell.Row.Height
Dim col_w = FpSpread1.ActiveSheet.ActiveCell.Column.Width
' アクティブセルにシェイプ画像を追加する
FpSpread1.ActiveSheet.AsWorksheet().Shapes.AddPictureToCell("..//..//test.png", False, True, row, col, col_w - 2, row_h - 2)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'シェイプ画像を座標(90,90)の位置に追加し、移動や編集を制限する
Dim lock_shape = FpSpread1.ActiveSheet.AsWorksheet().Shapes.AddPicture("..//..//test.png", False, True, 90, 90, 30, 30)
lock_shape.CanMove = GrapeCity.Spreadsheet.Drawing.Moving.None
lock_shape.CanRotate = False
lock_shape.CanSize = GrapeCity.Spreadsheet.Drawing.Sizing.None
End Sub
◎サンプルコード(C#)
private void Form1_Load(object sender, EventArgs e)
{
// 拡張シェイプを有効にする
fpSpread1.Features.EnhancedShapeEngine = true;
fpSpread1.ActiveSheet.Columns[1].Width = 60;
fpSpread1.ActiveSheet.Rows[1].Height = 50;
}
private void button1_Click(object sender, EventArgs e)
{
// アクティブセルのインデックスを取得する
var row = fpSpread1.ActiveSheet.ActiveCell.Row.Index;
var col = fpSpread1.ActiveSheet.ActiveCell.Column.Index;
// アクティブセルの高さと幅を取得する
var row_h = fpSpread1.ActiveSheet.ActiveCell.Row.Height;
var col_w = fpSpread1.ActiveSheet.ActiveCell.Column.Width;
// アクティブセルにシェイプ画像を追加する
fpSpread1.ActiveSheet.AsWorksheet().Shapes.AddPictureToCell("..//..//test.png",false,true, row, col, col_w - 2,row_h - 2);
}
private void button2_Click(object sender, EventArgs e)
{
// シェイプ画像を座標(90,90)の位置に追加し、移動や編集を制限する
var lock_shape = fpSpread1.ActiveSheet.AsWorksheet().Shapes.AddPicture("..//..//test.png", false, true, 90, 90, 30, 30);
lock_shape.CanMove = GrapeCity.Spreadsheet.Drawing.Moving.None;
lock_shape.CanRotate = false;
lock_shape.CanSize = GrapeCity.Spreadsheet.Drawing.Sizing.None;
}
<実行イメージ>