24 | すべてのフォームの同名コントロールの位置を同じにする | ||
すべてのフォームの同名コントロールの位置を同じにするには、次のような手順でプログラムを実行します。
プログラム
Sub SampleCode_24() 'すべてのフォームの同名コントロールの位置を同じにする Dim dbs As Database Dim ctn As Container Dim doc As Document Dim ctl As Control Dim strFormName As String Dim strCtlName As String Dim intTop As Integer Dim intLeft As Integer 'アクティブコントロールの名前/上位置/左位置を取得 With Screen.ActiveForm.ActiveControl strCtlName = .Name intTop = .Top intLeft = .Left End With Set dbs = CurrentDb Set ctn = dbs.Containers!Forms 'すべてのフォームのループ For Each doc In ctn.Documents '1つ分のフォームのデザインビューを開く strFormName = doc.Name DoCmd.OpenForm strFormName, acDesign 'フォームのすべてのコントロールのループ For Each ctl In Forms(strFormName).Controls With ctl If .Name = strCtlName Then 'コントロール名がアクティブコントロールと同じとき '上位置/左位置を設定 .Top = intTop .Left = intLeft End If End With Next ctl Next doc End Sub 実行例
■実行前左上のイメージコントロールの位置が2つのフォームで異なっていますが、これを上のフォームと同じにします。 ■実行後 左上のイメージコントロールが移動しています。 |
|||
|
Copyright © T'sWare All rights reserved |