- ベストアンサー
フォームのラベルのプロパティを自動で設定したい
Access2013 vba です。 フォームの全てのラベル、テキストボックス、ボタン類をそれぞれの背景色や、テーマ、背景スタイルなどを設定したいのですが、どうやれば、全てのラベル、テキストボックス、ボタンなどを自動でループ処理で取得出来ますでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
フォームをデザインビューで開く必要があります。で、保存。 windowmode は適当に。 標準モジュールで docmd.OpenForm "formName",view:=acDesign,windowmode:=acHidden forms!formName!ラベル2.backcolor = vbred docmd.Close acForm ,"formName",save:=acSaveYes
その他の回答 (2)
- NotFound404
- ベストアンサー率70% (288/408)
たとえば適当なラベル(仮に名前を「ラベル2」とします)のプロパティが Dim ctl As Control, prp As Property On Error Resume Next For Each ctl In Me.Controls If ctl.Name = "ラベル2" Then Debug.Print ctl.Name, TypeName(ctl) For Each prp In ctl.Properties Debug.Print , , prp.Name, prp.Type, prp.Value Next End If Next だと ラベル2 Label EventProcPrefix 8 ラベル2 Name 8 ラベル2 ControlType 2 100 Caption 8 タイトル &R Visible 11 True Width 2 1134 Height 2 225 Top 2 120 Left 2 72 BackStyle 2 0 BackColor 3 16777215 BackThemeColorIndex 3 -1 BackTint 4 100 BackShade 4 100 BorderStyle 2 0 OldBorderStyle 2 0 BorderLineStyle 2 0 BorderWidth 2 0 BorderColor 3 0 BorderThemeColorIndex 3 -1 BorderTint 4 100 BorderShade 4 100 SpecialEffect 2 0 TextFontCharSet 2 128 FontName 8 MS ゴシック FontSize 2 9 TextAlign 2 0 ThemeFontIndex 3 -1 FontWeight 2 400 FontUnderline 11 False FontItalic 11 False FontBold 2 0 ForeColor 3 0 ForeThemeColorIndex 3 -1 ForeTint 4 100 ForeShade 4 100 LineSpacing 2 0 HyperlinkAddress 8 HyperlinkSubAddress 8 HyperlinkTarget 8 HyperlinkBinderDescription 8 GridlineStyleTop 2 0 GridlineStyleBottom 2 0 GridlineStyleLeft 2 0 GridlineStyleRight 2 0 GridlineColor 3 0 GridlineWidthTop 2 1 GridlineWidthBottom 2 1 GridlineWidthLeft 2 1 GridlineWidthRight 2 1 TopMargin 2 0 BottomMargin 2 0 LeftMargin 2 0 RightMargin 2 0 TopPadding 2 30 BottomPadding 2 30 LeftPadding 2 30 RightPadding 2 30 HorizontalAnchor 2 0 VerticalAnchor 2 0 DisplayWhen 2 0 ReadingOrder 2 0 NumeralShapes 2 0 OnClick 8 OnClickEmMacro 8209 OnDblClick 8 OnDblClickEmMacro 8209 OnMouseDown 8 OnMouseDownEmMacro 8209 OnMouseUp 8 OnMouseUpEmMacro 8209 OnMouseMove 8 OnMouseMoveEmMacro 8209 ControlTipText 8 HelpContextId 3 0 Vertical 11 False SmartTags 8 Tag 8 Section 2 0 Layout 3 0 LayoutID 3 0 RowStart 2 0 RowEnd 2 0 ColumnStart 2 0 ColumnEnd 2 0 GridlineThemeColorIndex 3 -1 GridlineTint 4 100 GridlineShade 4 100 のように、ラベル2の背景色(BackColor)など色々得られます。
お礼
ありがとうございます。 Form_Load時にうまくプロパティが設定出来ました。 PGで設定したプロパティを保存することはできるのでしょうか?次にデザインビューで開くとまた戻ってしまいます。
- NotFound404
- ベストアンサー率70% (288/408)
Dim ctl As Control, prp As Property On Error Resume Next For Each ctl In Me.Controls Debug.Print ctl.Name, TypeName(ctl) For Each prp In ctl.Properties Debug.Print , , prp.Name, prp.Type, prp.Value Next Next みたいなこと? ご参考まで。
補足
そうなんですけど、このCtrlの変数に属するプロパティーに背景色とか、Back..Styleなどの設定が見当たらないので、ラベルのせっていの変更が出来ないのです。。。
お礼
ご回答ありがとうございます。 さっそく試してみます! これで、フォームの作成時間が短縮できそうです。