• ベストアンサー

フォームのラベルのプロパティを自動で設定したい

Access2013 vba です。 フォームの全てのラベル、テキストボックス、ボタン類をそれぞれの背景色や、テーマ、背景スタイルなどを設定したいのですが、どうやれば、全てのラベル、テキストボックス、ボタンなどを自動でループ処理で取得出来ますでしょうか。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

フォームをデザインビューで開く必要があります。で、保存。 windowmode は適当に。 標準モジュールで docmd.OpenForm "formName",view:=acDesign,windowmode:=acHidden forms!formName!ラベル2.backcolor = vbred docmd.Close acForm ,"formName",save:=acSaveYes

superwonderful
質問者

お礼

ご回答ありがとうございます。 さっそく試してみます! これで、フォームの作成時間が短縮できそうです。

その他の回答 (2)

回答No.2

たとえば適当なラベル(仮に名前を「ラベル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)など色々得られます。

superwonderful
質問者

お礼

ありがとうございます。 Form_Load時にうまくプロパティが設定出来ました。 PGで設定したプロパティを保存することはできるのでしょうか?次にデザインビューで開くとまた戻ってしまいます。

回答No.1

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 みたいなこと? ご参考まで。

superwonderful
質問者

補足

そうなんですけど、このCtrlの変数に属するプロパティーに背景色とか、Back..Styleなどの設定が見当たらないので、ラベルのせっていの変更が出来ないのです。。。

関連するQ&A