アプリ版:「スタンプのみでお礼する」機能のリリースについて

Access2013 vba です。

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

よろしくお願いします。

A 回答 (3件)

フォームをデザインビューで開く必要があります。

で、保存。
windowmode は適当に。
標準モジュールで
docmd.OpenForm "formName",view:=acDesign,windowmode:=acHidden
forms!formName!ラベル2.backcolor = vbred
docmd.Close acForm ,"formName",save:=acSaveYes
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

さっそく試してみます!

これで、フォームの作成時間が短縮できそうです。

お礼日時:2014/12/15 15:27

たとえば適当なラベル(仮に名前を「ラベル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)など色々得られます。
    • good
    • 0
この回答へのお礼

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

お礼日時:2014/12/14 15:05

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などの設定が見当たらないので、ラベルのせっていの変更が出来ないのです。。。

補足日時:2014/12/13 19:19
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!