I have the following problem updating MS Project fields with VBA:
I try this:
For Each t In ActiveProject.Tasks
'The following displays correctly Mo 14.05.18
Debug.Print Format(CDate("14.05.18", " ddd dd.mm.yy"))
'The following results in an error 438 (Method not supported)
t.Datum3 = Format(CDate("12.05.18","ddd dd.mm.yy"))
'this works fine but i'm not able to sort it proberly since it is a text sort for date fields, which is not wanted ...
't.Text25 = Format(CDate("12.05.15","ddd dd.mm.yy"))
Next t
It seems that not the format is a problem (I tried various formats, I even read it from the object to verify with format should be used) but generally, I'm not able to update date fields, I've got these problems with predefined date fields from MS Project as well as with user defined date fields.
Text fields don't make any problems at all.
Run-time error 438: Object doesn't support this property or method
You are getting the run-time error 438 because the Task
object does not have a property called Datum3
. Even though the field title in the German version is "Datum3", the actual property name is Date3
. (see MS Project object model, German version)
Secondary issue
While MS Project will accept date field values formatted as text, it is not necessary and bad form as it implies the date field is text. Instead set the values like this:
t.Date3 = CDate("14.05.18")
Note: The display format for date fields is set in the Project Options (see Change the Date Format or Ändern des Datumsformats).