トップページ > ソフトウェアの操作 > マクロの実行フォームに画像を貼り付ける

マクロの実行フォームに画像を貼り付ける

マクロで用意したフォームに画像を貼り付けることができます。
今回はフォームに背景画像を組み込みます。

フォームの背景に配置するイラストや写真などの画像をGIFまたはJPEG形式で用意します。
フォームのサイズを幅480px、高さ320pxに変更するため、画像も同じ大きさのものを用意します。

マクロ用画像

フォームのサイズを変更するためにVBエディタ(Visual Basic Editor)を開き、左部の「プロジェクト」内から前回作成したフォーム「macroForm」をクリックします。

フォームを表示

VBE右下にある「プロパティ」の中から Height を 320、Width を 480 に入力します。
Height で高さを、Width で幅を指定します。

値を入れてサイズ変更

値を入力するとフォーム編集ウィンドウの方で拡大されるのが確認できます。

フォームを拡大

続いて、フォーム上に画像を配置します。
画像を配置するためにはフォーム上に画像領域を作成してその中に埋め込みます。
上部メニューより「表示 -> ツールボックス」を選択し、表示されたツールボックス内から「イメージ」を選択します。

ツールボックスからイメージを選択

「イメージ」を選択した後にフォーム上で任意の大きさにドラッグすると画像を表示する領域ができます。

画像領域を作成

フォーム上の画像領域を選択した状態でVBE右下にある「プロパティ」の中から Picture をクリックすると画像を選択するウィンドウが表示されるので用意していた画像を選択します。

画像を選択する

画像を選択するとフォーム上に作成した画像領域に埋め込まれます。

画像領域へ画像の埋め込み

画像領域へ画像を埋め込んでも、画像領域の大きさによっては空白ができたり、画像の全てが表示されないことがあります。
画像領域と同じ大きさにして全て表示させるために同じくプロパティの中から PictureSizeMode を 1-fmPictureSixeModeStretch を選択し、 Height を 320、Width を 480 に入力します。

画像領域内を調整する

尚、PictureSizeModeには下記の種類があります。

設定値 Visual Basic 説明
Clip 0 ピクチャを実際のサイズで表示します。ピクチャがフォームやレポートより大きい場合、ピクチャは一部のみが表示されます。(既定値)
Stretch 1 フォームのサイズに合わせてピクチャを拡大または縮小します。この設定値を使用すると、ピクチャの縦横の比率が変化する可能性があります。
Zoom 3 ピクチャの縦横の比率を変更せずに、可能な限り最大に表示します。

値を入れるとフォームに作成した画像領域に反映され、余計な空白が無くなります。
しかし、まだフォームと画像領域の間に空白があるため画像領域の位置を調整する必要があります。

画像領域内を調整後

フォームの一番右上が座標(0 , 0)となるため、画像領域を選択した状態でプロパティに Left を 0、Top を 0を入れます。

画像領域の位置を調整する

値入力後はフォームの大きさとぴったり合うように画像が表示されます。

画像領域をフォーム上に設置したことで前回作成した閉じるボタンが見えなくなっています。
そのため画像領域を閉じるボタンの背後に配置するようにします。
画像領域を右クリックして「背面へ移動」を選択すると位置変更され、閉じるボタンが前面に出てきます。

画像の表示順序を変更する

フォームの大きさを変更したので閉じるボタンの位置を画面中央よりに移動して、マクロを実行して動作確認します。

マクロを実行する

画像配置はマクロの動きに関係しないところですが、説明文や項目名などを個別にフォーム上に配置するのではなく背景画像に記載して配置することでフォーム上を簡単な構成にすることができます。

関連記事

@webolve をフォローしてください