もうすぐサポートも切れて使えなくなる ADP
まだまだ現役で使われている ADP
ADP なんて存在知らなかったけど、ADPをコンパイル?して ADEにするとまぁ良い感じに使えるアプリ?VBA?ではあるんですね
なぜか ADP を利用しているシステムに関わることになったので、
原本管理?的な意味合いでプログラムソースをテキストファイルとして
抽出できるようにしてみました
やっつけ仕事ですが、まぁ修正箇所なんかがよくわかるようになったのでそこそこ使えるかな
使い方は新しいモジュールでも追加して、以下ソースを張り付けて、SaveProject() を実行するだけ
Option Compare Database
Option Explicit
'// プロジェクトのフォームやらコードやらをごっそり保存する
Sub SaveProject()
With Application.CurrentProject
Call SaveAsText(.AllForms, "form") '// フォーム
Call SaveAsText(.AllMacros, "macro") '// マクロ
Call SaveAsText(.AllModules, "module") '// モジュール
Call SaveAsText(.AllReports, "report") '// レポート
End With
End Sub
'// オブジェクトをテキストファイルとして保存
Private Sub SaveAsText(obj As Object, ext As String)
Dim i
For Each i In obj
DoEvents
Debug.Print UCase(ext) & "," & i.name
Application.SaveAsText _
i.Type, _
i.name, _
Application.CurrentProject.Path & "\" & _
VaridateFileName(i.name & "." & LCase(ext))
Next
End Sub
'// ファイル名に利用できない文字を削除 \ / : * ? " < > |
Private Function VaridateFileName(ByVal name As String) As String
Dim key
For Each key In Array( _
"\\", _
"/", _
":", _
"*", _
"?", _
"""", _
"<", _
">", _
"|" _
)
name = Replace(name, key, "")
Next
VaridateFileName = name
End Function