1

我一天都在开发一些 VBA 宏——500 行代码。代码被放入 Global.mpt 因为我打算在不同的项目文件中重用它。

在某些时候,我错过了在 while 循环中增加循环。在调试时,这会使 MS Project 陷入无休止的无响应 100% CPU 使用循环。我不得不从任务管理器中杀死 MS Project,重新启动它后,我在 Global.mpt 中看不到 VBA 模块。我在现有的 Global.MPT 中看到了我的变量和过程的名称,但是没有可以手动恢复的纯代码。

当我尝试将 Global.MPT 重命名为 MyGlobal.MPT 并打开它时,MS Project 显示“组织者”对话框,建议将内容从 MyGlobal.MPT 导入 Global.MPT,但“模块”选项卡显示空列表,好像没有什么要导入的。

有没有办法从文件中修复或导出 VBA 内容?我不想放松一天的工作:(

4

3 回答 3

0

最简单的方法是简单地将文件扩展名更改为 MPP 并将其作为项目打开。组织者会上来询问您是否要将 MPP 的宏和代码复制到新的(空白)MPT 文件中。只需将它们滑过去,您就可以成为黄金(您必须重新设置您的参考资料,否则,准备好了)

于 2015-02-17T16:11:05.713 回答
0

供参考 - 名为 MyModule 的模块,内容如下

Sub HelloWorld()
    MsgBox 'HelloWorld'
End Sub

看起来像在 VBA 流中

0012BA04  01 16 01 00 02 F0 00 00 00 BC 02 00 00 D4 00 00  |................|
0012BA14  00 B0 01 00 00 FF FF FF FF EA 02 00 00 8A 03 00  |................|
0012BA24  00 00 00 00 00 01 00 00 00 7D 0A CF 43 00 00 FF  |.........}..C...|
0012BA34  FF 03 00 00 00 00 00 00 00 B6 00 FF FF 01 01 00  |................|
0012BA44  00 00 00 FF FF FF FF 00 00 00 00 FF FF 04 00 FF  |................|
0012BA54  FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BA64  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BA74  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BA84  00 00 00 00 00 00 00 10 00 00 00 03 00 00 00 05  |................|
0012BA94  00 00 00 07 00 00 00 FF FF FF FF FF FF FF FF 01  |................|
0012BAA4  01 08 00 00 00 FF FF FF FF 78 00 00 00 02 00 00  |.........x......|
0012BAB4  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BAC4  00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF  |................|
0012BAD4  00 00 00 00 4D 45 00 00 FF FF FF FF FF FF 00 00  |....ME..........|
0012BAE4  00 00 FF FF 00 00 00 00 FF FF 01 01 00 00 00 00  |................|
0012BAF4  DF 00 FF FF 00 00 00 00 04 00 FF FF FF FF FF FF  |................|
0012BB04  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB14  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB24  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB34  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB44  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB54  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB64  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BB74  FF FF FF FF FF FF FF FF FF FF 28 00 00 00 00 00  |..........(.....|
0012BB84  36 0A FF FF FF FF 00 00 00 00 02 3C 08 00 FF FF  |6..........<....|
0012BB94  00 00 00 00 02 3C 0C 00 FF FF 00 00 00 00 02 3C  |.....<.........<|
0012BBA4  FF FF FF FF 00 00 FF FF 01 01 00 00 00 00 00 00  |................|
0012BBB4  01 00 00 00 FF FF FF FF 01 01 80 00 00 00 38 00  |..............8.|
0012BBC4  00 00 FF FF FF FF 02 83 1C 02 FF FF FF FF 08 00  |................|
0012BBD4  FF FF 30 00 00 00 00 00 FF FF FF FF FF FF 00 00  |..0.............|
0012BBE4  00 00 FF FF FF FF FF FF FF FF 00 00 00 00 1D 00  |................|
0012BBF4  00 00 25 00 00 00 0B 12 1E 02 FF FF FF FF 00 00  |..%.............|
0012BC04  00 60 00 00 00 00 FF FF FF FF FF FF FF FF 00 00  |.`..............|
0012BC14  00 00 00 00 00 00 FF FF FF FF 7C FF 00 00 FF FF  |..........|.....|
0012BC24  FF FF FF FF FF FF FF FF FF FF 03 00 03 00 00 00  |................|
0012BC34  84 00 00 03 00 00 FF FF FF FF C0 01 00 00 01 00  |................|
0012BC44  01 00 00 00 00 00 00 00 00 00 00 00 00 00 38 00  |..............8.|
0012BC54  00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BC64  FF FF FF FF FF FF 38 00 00 00 FF FF FF FF FF FF  |......8.........|
0012BC74  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BC84  FF FF FF FF FF FF 08 00 00 00 00 00 00 00 01 00  |................|
0012BC94  00 00 08 00 04 00 FF FF FF FF 00 00 00 00 FF FF  |................|
0012BCA4  FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF  |................|
0012BCB4  FF FF FF FF FF FF 02 00 00 00 00 00 E4 E7 C5 4E  |...............N|
0012BCC4  0E 00 01 24 00 2A 00 5C 00 52 00 66 00 66 00 66  |...$.*.\.R.f.f.f|
0012BCD4  00 66 00 2A 00 30 00 3F 00 34 00 65 00 63 00 35  |.f.*.0.?.4.e.c.5|
0012BCE4  00 65 00 37 00 65 00 39 00 DF 00 00 00 00 00 00  |.e.7.e.9........|
0012BCF4  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BD04  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BD14  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  |................|
0012BD24  00 00 00 00 00 00 FE CA 01 00 03 00 22 81 08 00  |............"...|
0012BD34  06 00 00 00 00 00 00 00 00 81 08 04 18 00 00 00  |................|
0012BD44  10 00 00 00 04 81 08 00 02 00 00 00 08 00 00 00  |................|
0012BD54  FF FF FF FF 01 01 30 00 00 00 96 04 38 00 00 00  |......0.....8...|
0012BD64  00 00 6F 00 FF FF 70 00 00 00 41 40 22 02 00 00  |..o...p...A@"...|
0012BD74  E0 00 0B 00 0B 00 48 65 6C 6C 6F 57 6F 72 6C 64  |......HelloWorld|
0012BD84  27 00 FF FF FF FF 50 00 00 00 FF FF FF FF 00 00  |'.....P.........|
0012BD94  01 52 B0 00 41 74 74 72 69 62 75 74 00 65 20 56  |.R..Attribut.e V|
0012BDA4  42 5F 4E 61 6D 00 65 20 3D 20 22 4D 79 4D 00 6F  |B_Nam.e = "MyM.o|
0012BDB4  64 75 6C 65 22 0D 0A 00 53 75 62 20 48 65 6C 6C  |dule"...Sub Hell|
0012BDC4  00 6F 57 6F 72 6C 64 28 29 08 0D 0A 20 00 00 4D  |.oWorld()... ..M|
0012BDD4  73 67 42 10 6F 78 20 27 07 64 27 0D 0A 10 45 6E  |sgB.ox '.d'...En|
0012BDE4  64 20 00 5C 0D 0A                                |d .\..|
于 2011-01-13T03:15:03.717 回答
0

其他解决方案是从备份中恢复。使用 Project 在另一台计算机上打开或修复用户配置文件。它可能是腐败的。如果您可以使用其他用户名登录 PC 并尝试打开文件。祝你好运,

或者:

1]转到文件->选项->信任中心->单击信任中心设置->选择选项“允许加载具有旧版或非默认文件格式的文件”并尝试打开文件。

2]打开一个空白项目并尝试插入有问题的文件并尝试打开它。

于 2014-10-28T19:19:33.167 回答