如何在MS Project VBA中编程添加Task Mode列至自定义表格?
MS Project VBA宏添加Task Mode列的解决方案
问题原因
Task Mode是MS Project界面上的显示列名称,并非VBA可直接识别的底层字段内部名称,直接在TableEditEx中指定NewFieldName:="Task Mode"会导致字段找不到的错误;另外你代码中TaskTable:=False设置错误,Task Mode属于任务字段,需对应任务表格。
两种可行解决方法
方法1:使用字段内部名称
将NewFieldName替换为Task Mode字段的内部名称"Mode",同时修正TaskTable参数为True:
TableEditEx Name:="JCustomTbl", TaskTable:=True, NewFieldName:="Mode", Title:="Task Mode", Width:=10, Align:=0, LockFirstColumn:=True, DateFormat:=255, RowHeight:=1, AlignTitle:=1, HeaderAutoRowHeightAdjustment:=False, WrapText:=False
Title参数保留为"Task Mode",确保表格中显示的列标题和预期一致。
方法2:使用PjField枚举常量
直接调用VBA内置的pjTaskMode枚举常量(对应Task Mode字段),通过FieldID参数指定,这种方式更不易出错:
TableEditEx Name:="JCustomTbl", TaskTable:=True, FieldID:=pjTaskMode, Title:="Task Mode", Width:=10, Align:=0, LockFirstColumn:=True, DateFormat:=255, RowHeight:=1, AlignTitle:=1, HeaderAutoRowHeightAdjustment:=False, WrapText:=False
内容的提问来源于stack exchange,提问作者Jebbers
相关产品推荐
相关产品推荐

