LoginSignup
1
2

More than 5 years have passed since last update.

【消えゆく灯】ADPのソースをテキストとして抽出【さよならADP】

Posted at

もうすぐサポートも切れて使えなくなる 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
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2