VBA~ユーザーフォームのイメージでサイズ違いの画像の表示方法を設定しよう~Excel
ユーザーフォームのイメージに画像を設定する際にイメージと画像のサイズが異なる時に画像のの表示方法を指定したい場合はPictureSizeModeプロパティを設定します。
書き方
オブジェクト名.PictureSizeMode = 定数
定数は以下の通りになります。
定数 | 値 | 説明 |
---|---|---|
fmPictureSizeModeClip | 0 | フォームまたはページからはみ出している画像の部分をトリミングします (既定値)。 |
fmPictureSizeModeStretch | 1 | フォームまたはページのサイズに合わせてピクチャを引き伸ばします。 画像の水平方向または垂直方向が歪む可能性があります。 |
fmPictureSizeModeZoom | 3 | 必要に応じてピクチャを引き伸ばしますが、水平方向または垂直方向にピクチャがゆがまないように引き伸ばします。 |
オブジェクト名はユーザーフォームのオブジェクト名と、イメージのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にイメージを選択すると同じようにイメージのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。
UserForm1というユーザーフォームを作成し、Image1というイメージを設定した場合、下のコードを実行するとイメージの画像の表示方法が設定されます。
Sub test1() Load UserForm1 UserForm1.Image1.Picture = LoadPicture("c:\サンプル1.jpg") UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch UserForm1.Show End Sub
プロパティウィンドウで設定
作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からイメージを選択します。プロパティウィンドウにPictureSizeModeの項目があるのでクリックすると▼マークが表示されるのでクリックして定数を選択してください。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。