https://teratail.com/questions/140150
において他のAccessファイルのマクロをテキスト化する方法は
分かったのですが、似たような方法でフォームのデータタブの
コントロールソースの値をテキスト出力する方法は
ありますでしょうか?
宜しくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
とりあえず指定したデータベースファイルの全フォームのコントロールのコントロールソースをイミディエイトウィンドウに出力するコード例です。
vba
1Sub ExportControlsource() 2 3 Dim strDB As String 4 strDB = "C:\TEST\テスト.accdb" 5 6 Dim appAccess As Access.Application 7 Set appAccess = CreateObject("Access.Application") 8 '対象のAccessデータベースを開く 9 appAccess.OpenCurrentDatabase strDB 10 11 '全フォームを参照する 12 Dim acObj As AccessObject 13 For Each acObj In appAccess.CurrentProject.AllForms 14 'フォームをデザインビュー/非表示で開く 15 appAccess.DoCmd.OpenForm acObj.Name, acDesign, , , , acHidden 16 Debug.Print "フォーム名: " & acObj.Name 17 Debug.Print "コントロール名 / コントロールソース" 18 19 'フォーム上の全コントロールの参照 20 On Error Resume Next 'ControlSourceがない場合エラーになるのを無視する 21 Dim acCtl As Access.Control 22 For Each acCtl In appAccess.Forms(acObj.Name).Controls 23 Debug.Print acCtl.Name & " / " & acCtl.ControlSource 24 Next 25 On Error GoTo 0 26 appAccess.DoCmd.Close acForm, acObj.Name, acSaveNo 27 Next 28 appAccess.CloseCurrentDatabase 29 appAccess.Quit 30 Set appAccess = Nothing 31 32 MsgBox "処理終了" 33End Sub
テキストに出力する場合は、下記のリンク等をご参考に。
投稿2018/11/26 06:54
編集2018/11/29 02:44総合スコア33715
0
"ControlSource/コントロールソース" プロパティから取得できます。
フォームやコントロールの一覧から取得する場合は、以下を参考に。
フォームのコントロール一覧を取得する
Controls オブジェクト (Access)
Forms object (Access)
投稿2018/11/26 02:20
編集2018/11/26 02:32総合スコア25195
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/11/28 10:41 編集
2018/11/28 09:49
2018/11/29 02:10
2018/11/29 02:25
2018/11/29 02:43