フォームには「X軸グリッド数」と「Y軸グリッド数」というプロパティがあります。この値を変更するとデザインビュー上の背景にあるドットの間隔が変わり、”グリッドに合わせる”や”グリッドに配置する”といった操作でのコントロールの隅の位置が変わります。
これらのプロパティはVBAではそれぞれ「GridX」プロパティと「GridY」プロパティで取得・設定します。設定値はプロパティシートでの設定値と同じです。
すべてのフォームのグリッド数を変更したいときには、FormsコンテナのDocumentsコレクションからループでDocumentオブジェクトを取り出します。その「Name」プロパティがフォーム名になりますので、それを使って1つずつデザインビューを開いた状態にしてから、GridX/GridYのプロパティを書き換えていきます。
プログラム
Sub SampleCode_22()
'すべてのフォームのグリッド数を変更する
Dim dbs As Database
Dim ctn As Container
Dim doc As Document
Dim strFormName As String
Set dbs = CurrentDb
Set ctn = dbs.Containers!Forms
'すべてのフォームのループ
For Each doc In ctn.Documents
'1つ分のフォームのデザインビューを開く
strFormName = doc.Name
DoCmd.OpenForm strFormName, acDesign
'グリッド数を設定
With Forms(strFormName)
.GridX = 6 'X軸グリッド数
.GridY = 6 'Y軸グリッド数
End With
'フォームを保存して閉じる
DoCmd.Close acForm, strFormName, acSaveYes
Next doc
End Sub
実行例
■実行前

■実行後
|