
Ich versuche, Daten aus einer MS Project-Datei in eine separate Excel-Datei zu übertragen, in der ich bedingte Formeln ausführe, um die Projektstatusmatrix zu verarbeiten.
Der Haken besteht darin, dass diese Daten bei jeder Änderung der Projektdatei aktualisiert werden müssen. Ein einfacher Export/Import ist also nicht ideal – ich benötige eine dauerhafte Verbindung.
Ich habe den Ansatz Kopieren>Einfügen-Spezial>Link>Text ausprobiert. Das funktioniert perfekt für den ersten Datendump in Excel, und alle Aktualisierungen der noch geöffneten Projektdatei werden übernommen. Sobald ich jedoch die Excel- oder Projektdatei schließe und erneut öffne, scheinen die Links beschädigt zu sein (ich habe die Dateinamen oder Speicherorte nicht geändert).
Wie kann ich eine Verbindung einrichten, die zumindest dauerhaft und robust ist, wenn nicht sogar automatisch aktualisiert wird?
Antwort1
Um das zu tun, worum Sie bitten, müssten Sie wahrscheinlich den Projektserver verwenden und Excel über eine schreibgeschützte ODBC-Verbindung mit der Aufgabentabelle des SQL-Servers verknüpfen, aber selbst dann wäre dies nicht in Echtzeit, da die Datenbank nur aktualisiert wird, wenn der Zeitplan veröffentlicht wird (und dies würde Lizenzgebühren kosten).
MPP-Dateien können jeweils nur von einer Anwendung geöffnet werden, daher glaube ich nicht, dass Echtzeitaktualisierungen möglich sein werden.
Eine Kompromisslösung könnte ein MS Excel-Dokument mit Makros sein, das die MPP-Datei beim Öffnen öffnet und die aktuellen Daten herunterlädt und dann die MPP-Datei schließt (oder sie gesperrt lässt, bis die Excel-Datei geschlossen wird, sodass keine weiteren Änderungen vorgenommen werden können). Dies basiert auf der Annahme, dass auf dem Computer, auf dem die Excel-Datei ausgeführt wird, auch MS Project installiert ist – andernfalls können Sie nicht auf die Projektdatei zugreifen.
Alternativ können Sie dem MS Project-Speicherereignis ein Makro hinzufügen, das die gewünschten Daten in eine Excel-Datei ausgibt. Keine zusätzliche Lizenz erforderlich, nur etwas VBA-Knowhow.
Ich hoffe das hilft.