可能重复:
什么是导出所有Excel插件模块.BAS文件的最快方法?
是否有可能做的所有使用的模块和数据结构的快照VBA Excel和后恢复它一些时间呢?
原因是崩溃后重现错误
添加。 是的,在本质上我想序列类和类型。
可能重复:
什么是导出所有Excel插件模块.BAS文件的最快方法?
是否有可能做的所有使用的模块和数据结构的快照VBA Excel和后恢复它一些时间呢?
原因是崩溃后重现错误
添加。 是的,在本质上我想序列类和类型。
我觉得你有种想要的是序列化所有的类,因为它们是一个XML文件? 我知道其他语言的这一功能存在,但VBA可能没有它,因为它是。 (我敢肯定,你可能会迫使一些) - 布拉德
@Brad,是的,没错,作为可能的方式之一 - 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