Excel VBAのチップスです。
図や画像を挿入するには、Shapes.AddPicture メソッドを使用します。
構文(以下Helpより)
式.AddPicture(Filename, LinkToFile, SaveWithDocument, Left, Top, Width, Height)
式 Shapes オブジェクトを表す変数。
パラメーター
名前 必須/オプション データ型 説明 Filename 必須 文字列型 (String) OLE オブジェクトを作成するグラフィック ファイルを指定します。 LinkToFile 必須 MsoTriState 図をグラフィック ファイルとリンクするかどうかを指定します。 SaveWithDocument 必須 MsoTriState 文書を保存するときに図も一緒に保存するかどうかを指定します。 Left 必須 単精度浮動小数点型 (Single) 文書の左上隅を基準にして図の左上隅の位置をポイント単位で指定します。 Top 必須 単精度浮動小数点型 (Single) 文書の上端を基準にして図の左上隅の位置をポイント単位で指定します。 TWidth 必須 単精度浮動小数点型 (Single) 図の幅をポイント単位で指定します。 Height 必須 単精度浮動小数点型 (Single) 図の高さをポイント単位で指定します。 戻り値
Shape
備考(一部省略してあります)
「LinkToFile」のMsoTriState は、次に示すいずれかの MsoTriState 定数になります。
msoFalse 図を独立したファイルのコピーにします。
msoTrue 図と作成元のグラフィック ファイルとの間にリンクを設定します。
「SaveWithDocument」のMsoTriState は、次に示すいずれかの MsoTriState 定数になります。
msoFalse 文書内のリンク情報だけを保存します。
msoTrue リンクが設定された文書と共にリンクの作成元のグラフィック ファイルも保存します。引数 LinkToFile を msoFalse に設定する場合、この引数は msoTrue に設定する必要があります。
使用例(Helpのコードからは一部変えてあります)
作成したkiku.pngという図のファイルを myDocument に挿入します。挿入した図は作成元のファイルとリンクが設定され、myDocument と共に保存されます。
VBA
Username は自分が使用しているユーザー名です。「マイピクチャ」の kiku.png 画像をワークシート1に挿入しています。
結果
以下は、Microsoftサポートにあったサンプルです。
セルB2を選択後にVBAを実行しています。画像選択ダイアログで挿入する画像を選択します。
図を任意のサイズで挿入後に Shape.ScaleHeight メソッドおよび Shape.ScaleWidth メソッドを使用して元のサイズに戻しています。
結果は、セルB2を基準に、画像が元の大きさで挿入されました。
サンプルでは、Range("B2:D9")に合わせて図を挿入しています。
コード中のUsername は自分が使用しているユーザー名です。「マイピクチャ」の kiku.png 画像を挿入しています。
結果