使用されているすべてのモジュールとデータ構造のスナップショットをVBAExcelで実行し、しばらくしてから回復することはできますか?
理由は、クラッシュ後にエラーを再現することです
追加した。はい、本質的にはクラスとタイプをシリアル化したいです。
使用されているすべてのモジュールとデータ構造のスナップショットをVBAExcelで実行し、しばらくしてから回復することはできますか?
理由は、クラッシュ後にエラーを再現することです
追加した。はい、本質的にはクラスとタイプをシリアル化したいです。
すべてのクラスをそのままXMLファイルにシリアル化するのがいいと思いますか?この関数は他の言語にも存在することは知っていますが、VBAにはそのままではない可能性があります。(私はあなたが何かを強制することができると確信しています)–ブラッド
@Brad、はい、正確に、可能な方法の1つとして– nikaan
このメソッドがVBAには存在しないと仮定すると(VB.NETまたはVB 2005では使用可能ですが:http ://support.microsoft.com/kb/315703 )、おそらくシミュレーションを実行しようとします。 FSOを使用して、各オブジェクト/変数(必要なものの)をtxtファイルに追加します。
これがあなたのプロジェクトで実行可能かどうかはわかりませんが、大量のコードを喜んでこれを実行したくないと思います。
dim sFile As string
Dim FSO As FileSystemObject
Dim FSOFile As TextStream
sFile = "U:/Log.txt"
Set FSO = New FileSystemObject
Set FSOFile = FSO.OpenTextFile(sFile, 2, True)
FSOFile.writeline (<Descriptions+Property/variable value>)
FSOFile.Close
set FSO = nothing
説明の入力の程度によっては(たとえば、オブジェクトのインスタンス化を成功させるためのブール値を含めるなど)、アプリケーションがクラッシュするまで画面の背後で何が起こったかを確認できる場合があります...私はしませんあなたが「フィールド」(コメント)で何を参照しているかについて少し疑問があるので、これがあなたの質問に答えるかどうかはわかりません。
VBAプロジェクトの所有者である場合、現在のプロジェクトのすべてのモジュールをエクスポートするサブルーチンを作成できます。このリンクはコードを提供します:
http://edndoc.esri.com/arcobjects/9.0/Samples/Application_Framework/ExportVBACode.htm
あなたがそれを説明する目的のために、私はこれをする理由がわかりません。
個人的には、次のような不完全なトリックを使用します。
オプション明示
Sub Save_File()
Dim sCur_Path As String
Dim sCopied_Path As String
Application.DisplayAlerts = False
Application.ScreenUpdating = False
sCur_Path = ThisWorkbook.FullName
sCopied_Path = "U:/Copied_New.xlsm"
ThisWorkbook.SaveAs sCopied_Path
ThisWorkbook.SaveAs sCur_Path
End Sub