Mit allen Feldern, die berechnet beim Anlegen und vom aktuellen Kontext (also z.B. User und Datum) abhängig sind, kannst Du ganz einfach umgehen, indem Du sie vor dem Öffnen löschst.
Call doc.CopyAllItems (newdoc)
Call newdoc.RemoveItem ("DocCreationDate")
Call newdoc.RemoveItem ("DocAuthors")
Call workspace.EditDocument (True, newdoc)
Die Felder werden dann beim Öffnen neu gerechnet, da sie ja nicht existieren. Größter Vorteil dieser Methode ist, dass die Gestaltung der Felder an einer Stelle (hier dem Vorgabewert in der Maske) verbleibt. Wenn sich da in Zukunft mal was dran ändert, denkt niemand an die Änderung des Scriptes.