2017-02-18 7 views
0

Ich habe eine einfache Aufgabe, mit einer einzigen Aufgabe. In der Ansicht Vorgang: Einsatz zeige ich die UniqueID Spalte, die die Zuordnung Eindeutige ID als 1048577.MS Project 2016 VBA Zuordnung UniqueID nicht übereinstimmenden Bildschirm

Dann gibt, gebe ich den folgenden Beispielcode, der Zuordnungs-ID zu überprüfen:

Wenn ich laufen diese (Dabei muss sich die richtige Aufgabe wählen), erhalte ich die folgende Ergebnismenge:

Task ID: 1 Task UID: 1 Task Name: New Task Assignment Count: 1 
    Assignment UID is: 2097153 
    Assignment Resource is: 1 - Fred 
    Assignment Index is: 1 

Frage: Wo wird aus der 2.097.153 kommt ???? Und warum kann ich 1048577 nicht finden, wenn ich die Assignments-Sammlung durchlaufe?

Antwort

1

Sieht aus wie dies ein bekannter Fehler in MS Project ist. Beim Durchschleifen des Zuweisungsobjekts ist die ID offensichtlich um 2^20 oder 1.048.576 ausgeschaltet. Sie können die Zuweisung mit einer der beiden Zahlen referenzieren, aber das eigentliche Problem besteht darin, dass die Zuweisungssammlung beim Iterieren nach Objekt nicht stabil ist. Die Problemumgehung, die ich am Ende verwendete, ist die Verwendung der Assignments.Count-Eigenschaft und die Iteration von 1 zu Count, anstatt For Each a in Assignments zu verwenden.

Verwandte Themen