简体   繁体   English

以编程方式在MS Project .mpp文件中添加列/自定义字段

[英]Add column/custom field in MS Project .mpp file programmatically

I am using following code to create the .mpp file programmatically. 我正在使用以下代码以编程方式创建.mpp文件。 This create a MS project file with default fields (Task Mode, Task Name, Duration...). 这将创建一个具有默认字段(任务模式,任务名称,持续时间...)的MS项目文件。 I want to add a custom column/fields with name "MYCustom Field" in this new created file. 我想在这个新创建的文件中添加一个名称为“ MYCustom Field”的自定义列/字段。 Can any body guide me how to accomplish this. 任何人都可以指导我如何做到这一点。

Microsoft.Office.Interop.MSProject.Application projectApplication = new Microsoft.Office.Interop.MSProject.Application();

projectApplication.Visible = false;

Microsoft.Office.Interop.MSProject.Project ProjectSheet projectApplication.Projects.Add(missing, missing, missing);

projectApplication.ActiveProject.SaveAs("test.mpp", Microsoft.Office.Interop.MSProject.PjFileFormat.pjMPP, missing, missing);

If you work with mpp files only then "Add a custom field" means pick one of standard custom fields: Text1-32, Duration1-.., Date1-.., Number1-.., Flag1-.. depending on what type of your data and assign your own label to the field. 如果仅使用mpp文件,则“添加自定义字段”表示选择以下标准自定义字段之一:Text1-32,Duration1-..,Date1-..,Number1-..,Flag1-..(取决于哪种类型)您的数据,并为该字段分配您自己的标签。

To do that you should use Table.TableField.Add method. 为此,您应该使用Table.TableField.Add方法。 Here is a link to MSDN . 这是MSDN链接 Table is a grid on the left in the MS Project. 表是MS项目左侧的网格。

You can either redefine one of standard tables Available through Application.Tables or create your own using Application.TableCopy Application.TableApply . 您可以重新定义通过Application.Tables可用的标准表之一,也可以使用Application.TableCopy创建自己的标准表Application.TableApply

From my experience common rule about MS Project Programming: try to find dedicated object for what you need and if there is no such object - check Application. 根据我的经验,有关MS Project编程的通用规则:尝试找到满足您需要的专用对象,如果没有此类对象,请检查“应用程序”。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM