OfficeType

VBA~ユーザーフォームのイメージでサイズ違いの画像の表示方法を設定しよう~Excel

ユーザーフォームのイメージに画像を設定する際にイメージと画像のサイズが異なる時に画像のの表示方法を指定したい場合はPictureSizeModeプロパティを設定します。

書き方

オブジェクト名.PictureSizeMode = 定数

定数は以下の通りになります。

定数説明
fmPictureSizeModeClip0フォームまたはページからはみ出している画像の部分をトリミングします (既定値)。
fmPictureSizeModeStretch1フォームまたはページのサイズに合わせてピクチャを引き伸ばします。 画像の水平方向または垂直方向が歪む可能性があります。
fmPictureSizeModeZoom3必要に応じてピクチャを引き伸ばしますが、水平方向または垂直方向にピクチャがゆがまないように引き伸ばします。

オブジェクト名はユーザーフォームのオブジェクト名と、イメージのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にイメージを選択すると同じようにイメージのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

UserForm1というユーザーフォームを作成し、Image1というイメージを設定した場合、下のコードを実行するとイメージの画像の表示方法が設定されます。

Sub test1()

Load UserForm1
UserForm1.Image1.Picture = LoadPicture("c:\サンプル1.jpg")
UserForm1.Image1.PictureSizeMode = fmPictureSizeModeStretch
UserForm1.Show

End Sub

image-01

プロパティウィンドウで設定

作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からイメージを選択します。プロパティウィンドウにPictureSizeModeの項目があるのでクリックすると▼マークが表示されるのでクリックして定数を選択してください。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

image-02

image-03

image-04

image-05