広告
広告
フォーム・レポート・独立の各モジュールをテキストファイルに保存。
Public Sub SaveModules(strMdbName As String, strPw As String, strExpFile As String) Dim dbs As DAO.Database Dim objAcc As Access.Application Dim mdl As Module Dim docWork As DAO.Document Dim frm As Form Dim rpt As Report On Error Resume Next ' リストを出力するファイル名 'Const FILENAME = strExpFile Open strExpFile For Output As #100 Print #100, "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■" Print #100, "■ MDB Name : " & strMdbName Print #100, "■ CreateDay : " & Now Print #100, "■" Print #100, "■ Copyright (c) 1997-20xx 7key All Rights Reserved." Print #100, "■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■" Print #100, "" Print #100, "" Print #100, "■■■ MODULES ■■■■■■■■■■■■■■■■■■■■■■■■■■" Print #100, "" Print #100, "" Set dbs = DBEngine.Workspaces(0).OpenDatabase(strMdbName, False, False, ";PWD=" & strPw) Set objAcc = GetObject(strMdbName) For Each docWork In dbs.Containers!Modules.Documents objAcc.DoCmd.OpenModule docWork.Name Set mdl = objAcc.Modules(docWork.Name) Print #100, "□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□" Print #100, "□ Module Name : " & docWork.Name Print #100, "□ Created : " & docWork.DateCreated Print #100, "□ Modified : " & docWork.LastUpdated Print #100, "□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□" Print #100, "" Print #100, mdl.Lines(1, mdl.CountOfLines) objAcc.DoCmd.Close acModule, docWork.Name Next Print #100, "" Print #100, "" Print #100, "■■■ FORMS ■■■■■■■■■■■■■■■■■■■■■■■■■■■■" Print #100, "" Print #100, "" For Each docWork In dbs.Containers!Forms.Documents objAcc.DoCmd.OpenForm docWork.Name, acDesign Set frm = objAcc.Forms(docWork.Name) If frm.HasModule Then Set mdl = frm.Module Print #100, "□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□" Print #100, "□ Module Name : " & docWork.Name Print #100, "□ Created : " & docWork.DateCreated Print #100, "□ Modified : " & docWork.LastUpdated Print #100, "□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□" Print #100, "" Print #100, mdl.Lines(1, mdl.CountOfLines) End If objAcc.DoCmd.Close acForm, docWork.Name Next Print #100, "" Print #100, "" Print #100, "■■■ REPORTS ■■■■■■■■■■■■■■■■■■■■■■■■■■■" Print #100, "" Print #100, "" For Each docWork In dbs.Containers!Reports.Documents objAcc.DoCmd.OpenReport docWork.Name Set rpt = objAcc.Reports(docWork.Name) If rpt.HasModule Then Set mdl = rpt.Module Print #100, "□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□" Print #100, "□ Module Name : " & docWork.Name Print #100, "□ Created : " & docWork.DateCreated Print #100, "□ Modified : " & docWork.LastUpdated Print #100, "□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□" Print #100, "" Print #100, mdl.Lines(1, mdl.CountOfLines) End If objAcc.DoCmd.Close acReport, docWork.Name Next Close #100 dbs.Close Set dbs = Nothing objAcc.CloseCurrentDatabase Set objAcc = Nothing End Sub
広告