2011-01-12 8 views
1

Ich entwickelte einige VBA-Makro während eines Tages - 500 Zeilen Code. Code wurde in Global.mpt eingefügt, da ich ihn in verschiedenen Projektdateien wiederverwenden wollte.MS Project 2010 - Wiederherstellen von Makros aus (beschädigt?) Global.MPT

In einem Moment vermisste ich Zyklus im Zyklus zu erhöhen. Beim Debugging wurde MS Project in eine endlose nicht reagierende 100% -CPU-Verwendungsschleife gebracht. Ich musste MS Project vom Task-Manager beenden und nach dem Neustart sehe ich keine VBA-Module in Global.mpt. Ich sehe die Namen meiner Variablen und Prozeduren in der vorhandenen Global.MPT, aber es gibt keinen einfachen Code, der manuell wiederhergestellt werden kann.

Wenn ich versuche, Global.MPT in MyGlobal.MPT umzubenennen und es zu öffnen, zeigt MS Project den Dialog 'Organizer' an, der den Import von Inhalten aus MyGlobal.MPT nach Global.MPT vorschlägt, aber die Registerkarte 'Module' zeigt eine leere Liste nichts zu importieren.

Gibt es Möglichkeit, VBA-Inhalt aus der Datei zu reparieren oder zu exportieren? Ich will nicht Tag der Arbeiten verlieren :(

+0

Der bisherige Fortschritt ist ... versucht, die Datei von VBA-Code zu öffnen der gleiche "Organizer" -Dialog ... versucht, aus VBA neues Projekt basierend auf gegebenen Vorlage zu erstellen Ergebnisse in "kann keine neue Datei basierend auf einer globalen Vorlage erstellen" ... nach dem Öffnen der Datei .mpt im HEX-Editor und Ändern der Markierung ject.GLOBAL14 zu ject.MPP14 (wie in .mpp-Dateien) Datei öffnet sich aber mit "MyGlobal.mpp ist geschützt" -Dialog und fragt nach einem Passwort :( –

+0

Verdammt ... zu viel Zeit wird verbracht versuchen zu erholen, Ich hätte den gleichen Code noch einmal umgeschrieben ... aber, hier sind ein paar weitere Erkenntnisse, ho Wever, lieferte kein positives Ergebnis. (1) mpp Datei ist eine Standard-Windows strukturierte Speicherdatei, die mit Win32-API-Funktion geöffnet werden kann ... (2) gibt es Tools zum Anzeigen dieser Dateien - entweder "Ein weiterer OLE Doc Viewer" mit Quellen in Codeprojekt. com oder "kommerzieller" Compound File Explorer von http://www.coco.co.uk/developers/CFX.html ... –

+0

... (3) ich kann den gesamten VBA-Teilbaum exportieren und in eine andere .mpt-Datei importieren und es funktioniert für neu erstellte Global.mpt, aber funktioniert nicht für meine meistgesuchte alte Global.mpp ...(4) die Mischung aus speziellen Symbolen und Quell-VB-Code, die ich in dem Strom einzelner VB-Module sehe, ist (höchstwahrscheinlich) kompilierter VB-Code. Es gibt Decompiler für .exe- und .ocx-Dateien. Obwohl ich den einen für VBA-Stream nicht finden konnte :( –

Antwort

0

Für referrence - Modul mit dem Namen MyModule mit Inhalt folgenden

Sub HelloWorld() 
    MsgBox 'HelloWorld' 
End Sub 

wie in dem VBA-Stream folgende Looks

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 |[email protected]"...| 
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 .\..| 
0

Andere Lösungen sind zu erholen von Backup. Öffnen Sie auf einem anderen Computer mit Project oder reparieren Sie das Benutzerprofil. Es kann beschädigt sein. Wenn Sie mit einem anderen Benutzernamen auf dem PC anmelden und versuchen, die Datei zu öffnen. Viel Glück,

OR:

1] t Go-Datei -> Optionen -> Vertrauensstellungscenter -> klicken Sie auf Trust Center Settings -> Wählen Sie die Option "Allow Laden von Dateien mit älteren oder Nicht-Standard-Dateiformate" und Versuchen Sie, die Datei zu öffnen.

2] Öffnen Sie ein leeres Projekt und versuchen Sie, die problematische Datei einzufügen, und versuchen Sie, sie zu öffnen.

0

Der einfachste Weg ist, einfach die Dateiendung in MPP zu ändern und sie als Projekt zu öffnen. Der Organisator wird kommen und Sie fragen, ob Sie die Makros und den Code des MPP in Ihre neue (leere) MPT-Datei kopieren möchten. Schieben Sie sie einfach über und Sie sind gut wie Gold (Sie müssen Ihre Referenzen zurücksetzen, aber sonst bereit zu gehen)

Verwandte Themen