
[入力フォームを Excel でデザイン]のマクロを解説
AccessのフォームをExcelでデザインするマクロの解説を行います。
使い方を知りたいは、下記のページで説明しています。
[画面設定]のメニューを作る
[画面設定]を行うには、色々な操作が必要になります。
画面設定のプレビュー表示
項目の追加、など
これらの操作を[メニュー]ボタンで表示します。

[日本語ローコード]を使ってマクロを書くと下記のようになります。
Sub メニュー()
Dim wMenu As String
wMenu = "フォーム画面表示,項目の追加,項目位置を保存"
n = f_メニュー("タイトル", wMenu, "選択してください", 0)
If n = 0 Then Exit Sub
'--- Exit ---
'(メニュー実行)
If n = 1 Then Call フォーム表示
If n = 2 Then Call 項目を作る
If n = 3 Then Call 項目位置を保存
End Sub
マクロ処理は、Sub ・・・ End Subの間に記述しています。
Sub ・・・ End Subを1つのサブルーチンと呼びます。
[Dim wMenu ・・・]
最初にこのサブルーチン(メニュー)内で使用する変数を宣言します。
[wMenu = ・・・]
変数 wMenu に、表示するメニュー名を代入します。
1行目と2行目はカンマで区切ります。
[n = f_メニュー(・・・]
日本語ローコード関数(f_メニュー)を実行します。
実行した結果は、変数 n に代入されます。
[IF n=0 ・・・]
メニューで何も選択されなかったら、このサブルーチン(メニュー)を終了します。(n の値が 0 の時)
[IF n=1 ・・・]
1番目のメニューが選択された場合は、サブルーチン(フォーム表示)を実行します。(n の値が 1 の時)
[IF n=2 ・・・]
2番目のメニューが選択された場合は、サブルーチン(項目を作る)を実行します。(n の値が 2 の時)
[IF n=3 ・・・]
3番目のメニューが選択された場合は、サブルーチン(項目位置を保存)を実行します。(n の値が 3 の時)
[項目の追加]のマクロ
[項目名]ラベル と [入力]テキストボックス を図形で追加する。

ラベル[項目名1~20]と入力枠[半角/指定なし]の図形を20個作成します。
Sub 項目を作る()
Dim wNO As Integer
Dim wLeft As Single, wTop As Single, wWidth As Single, wHeight As Single
Dim wSTR As String
Dim wTab As Single
'図形を消去
Call s_DeleteShape
For wNO = 1 To 20
wTab = Int((wNO - 1) / 10) * 350
'丸四角
wTop = (((wNO - 1) Mod 10)) * 30 + 15
wLeft = wTab + 10
wWidth = 100
wHeight = 25
wSTR = "項目名" & Trim(Str(wNO))
Call s_CreateMaruLabel(wLeft, wTop, wWidth, wHeight, wNO)
'四角
wLeft = wTab + 120
wWidth = 200
wSTR = "半角/指定なし"
Call s_CreateKakuBox(wLeft, wTop, wWidth, wHeight, wNO)
Next wNO
'A1セルを選択
Range("A1").Select
End Sub
すべての[ソースコード]を下記(GitHub)に公開しています。
ここから先は
0字