簡體   English   中英

使用VBA永久影響ms-access控制屬性

[英]Permanently affect ms-access control properties using VBA

我在質量檢查中有一個相當大的Access應用程序。 我遇到了一些問題,例如“某些標簽被加粗,有些標簽未加粗”,考慮到此應用程序的發展方式,這不足為奇。 我想寫一些只運行一次並設置控件屬性的代碼,而不是打開窗體設置每個控件的屬性時運行的代碼。 我可以做后者,但直到今天才真正想到前者。 我想編寫一個函數遍歷所有控件,為標簽設置“字體粗細”並將其另存為該控件的值,所以在這么多的窗體上都有這么多標簽。

我可以循環瀏覽控件,查找標簽,但實際上設置屬性並永久保存它,而不是執行某些觸發事件會讓我很困擾。 有人這樣做嗎?

在此先感謝您的幫助!

我做了部分現成的,所以您可能需要調整它。 只需關閉所有表單並運行此過程即可。

請注意:這會將所有標簽設置為粗體。 大多數字體以粗體顯示時會變寬,因此執行此操作后,可能需要調整表單布局。 強烈建議您在嘗試此操作之前備份.mdb。

Sub SetFormProperties()
Dim ao As AccessObject, Frm As Form, Ctl As Control

    For Each ao In CurrentProject.AllForms
        If ao.IsLoaded Then
            Debug.Print ao.Name; " skipped...form was already loaded"
        Else
            DoCmd.OpenForm ao.Name, acDesign
            Set Frm = Forms(ao.Name)

            '-------------------'
            'Set properties here'
            For Each Ctl In Frm.Controls
                If Ctl.ControlType = acLabel Then
                    Ctl.FontWeight = 700
                    '---OR---'
                    Ctl.FontBold = True
                End If
            Next Ctl
            '-------------------'

            DoCmd.Close acForm, Frm.Name, acSaveYes
        End If
    Next ao
End Sub 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM