23 | すべてのフォームの各セクションの背景色を変更する | ||
フォームオブジェクトでは、「Form.Section(インデックス)」(※注)という構文を使うことで、各セクションのオブジェクトを参照することができます。そのオブジェクトのプロパティをプログラムから設定することで、セクションに関するプロパティを変更することができます。 セクションの背景色を変更したい場合には「BackColor」プロパティを書き換えます。
プログラム
Sub SampleCode_23() 'すべてのフォームの各セクションの背景色を変更する Dim dbs As Database Dim ctn As Container Dim doc As Document Dim strFormName As String On Error GoTo Err_Handler 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) 'ヘッダーセクション .Section(acHeader).BackColor = RGB(0, 163, 240) '詳細セクション .Section(acDetail).BackColor = RGB(166, 226, 255) 'フッターセクション .Section(acFooter).BackColor = RGB(227, 227, 227) End With 'フォームを保存して閉じる DoCmd.Close acForm, strFormName, acSaveYes Next doc Exit_Here: Exit Sub Err_Handler: If Err.Number = 2462 Then 'ヘッダーやフッターセクションを持たないときのエラーは無視 Resume Next Else Beep MsgBox "エラー番号 : " & Err.Number & vbCrLf & _ "エラー内容 : " & Err.Description, _ vbOKOnly + vbCritical End If Resume Exit_Here: End Sub 実行例
■実行前■実行後 |
|||
|
Copyright © T'sWare All rights reserved |