ACCESS DoCmd.MoveSizeでフォームの位置と大きさを指定する方法

DoCmd.MoveSizeでフォームの位置と大きさを指定する方法

ACCESSのフォームの位置や大きさは、デザインビューからプロパティシートで設定可能です。
更に、条件に応じてフォームの位置や大きさを変えたい場合は、VBAでDoCmd.MoceSizeを使って制御することができます。

今回は、DoCmd.MoveSizeでフォームの位置と大きさを指定する方法をご紹介します。


こんにちは。
はこにわガジェット (@hakoniwagadget) です。

ACCESSを使った売上管理、顧客管理などのデータベース開発を行っています。
ACCESSは基本機能だけでも十分便利ですが、VBAを使うことで格段に使いやすいデータベースを作成可能です。
この記事ではACCESSでのVBAの使い方をご紹介していきます。

DoCmd.MoveSizeメソッド

ACCESS VBAでDoCmd.MoveSizeメソッドを使うと、フォームの位置や大きさを任意に指定できます。
構文は以下の通りです。

指定する引数は4つですが、どれも理解はしやすいと思います。
しかし、注意したいのは引数に指定する数値の単位がtwipだということです。

twipとは

twipとはマイクロソフト製品で使われる長さの単位です。
マイクロソフトのサイトでは以下のように説明されています。

1/20 ポイントに相当する画面測定の単位。 twip は、画面アプリケーションの画面要素の配置と比率がすべてのディスプレイ システムで同じであることを保証するために使用される、画面に依存しない単位です。 論理的な 1 インチは約 1,440 twip、論理的な 1 センチメートルは 567 twip です (出力時に 1 インチまたは 1 センチメートルと測定される画面アイテムの長さ)。

ACCESSのフォームはcmでサイズを指定していますので、DoCmd.MoveSizeメソッドを使って位置や大きさを指定する際は、cmを567倍してtwipで指定する必要があります。

フォームでの利用例

では、実際のフォームでDoCmd.MoveSizeを利用してみましょう。
今回は以下のフォームを準備しました。

このフォームの「Move」ボタンを押すとフォームの位置と大きさが変更できるようにします。
フォームをデザインビューで開きます。

フォームのデザインビュー

Moveボタンのプロパティシートを開き、クリック時にイベントプロシージャを設定します。

設定する内容は以下の通りです。

DoCmd.MoveSizeを使って、位置や大きさを変更しています。
単位はtwipで指定していますのでcmに直す場合は567で割って、左から3cm、上から3cm、幅:20cm、高さ:10cmとなります。

では、実際に動作させてみましょう。
フォームを通常通り起動させるとこの状態です。

ここからMoveボタンを押すと下記になります。

フォームの位置と大きさが指定した通り変更されていますね。

ポップアップ表示させないと動作しない

DoCmd.MoveSizeを利用する際に注意する点があります。
それは、フォームをポップアップ表示させないとDoCmd.MoveSizeが動作しないことです。

ポップアップ表示とは、該当のフォームを単独でACCESSの画面より前面に表示させる機能です。

ポップアップ表示の設定はフォームのデザインビューで行います。

デザインビューのプロパティシートでフォーム全体を指定し、「その他」タブの「ポップアップ」と「作業ウィンドウ固定」を「はい」に変更します。
これで、ポップアップ表示ができ、DoCmd.MoveSizeが有効になります。

以上、DoCmd.MoveSizeでフォームの位置と大きさを指定する方法をご紹介しました。


ACCESSを使いこなせば、業務の効率化や自動化が実現できます。
しかし、自分でACCESSを学ぶには時間がない、難しそうで不安、という方も多いでしょう。

そんな時は、ACCESS開発歴20年以上、過去に100以上のACCESSデータベースを開発してきた私(@hakoniwagadget)にお任せください。

ACCESSの新規開発、既存のACCESSの修正、ACCESSの操作レッスンなど様々なサービスをご提供しています。
ご興味のある方は下記のサービス一覧をご覧ください。

サービス紹介

最後までお読みいただき、ありがとうございました。