我有一个用于将数据加载到 microsoft 项目表中的 microsoft 项目插件。
我想知道是否可以在 VS 中使用查找列表创建自定义字段。
这就是你在微软项目中的做法:http ://www.youtube.com/watch?v=ZML9IyoPY7Y (下拉列表)
但我希望我的代码为我做这件事。因此,当我按下插件中的加载按钮时,它应该会自动创建列表。
我有一个用于将数据加载到 microsoft 项目表中的 microsoft 项目插件。
我想知道是否可以在 VS 中使用查找列表创建自定义字段。
这就是你在微软项目中的做法:http ://www.youtube.com/watch?v=ZML9IyoPY7Y (下拉列表)
但我希望我的代码为我做这件事。因此,当我按下插件中的加载按钮时,它应该会自动创建列表。
我实际上找到了解决方案。经过一番摸头。
myproject.Application.CustomFieldRename(PjCustomField.pjCustomTaskText12, "columnName");
myproject.Application.CustomFieldPropertiesEx(PjCustomField.pjCustomTaskText12, PjCustomFieldAttribute.pjFieldAttributeValueList);
myproject.Application.CustomFieldValueListAdd(PjCustomField.pjCustomTaskText12, "ListValue");
此链接MSDN 文章关于使用 UI 和 VBA 中的本地自定义字段和查找表。本文适用于 Project 2007,但从那时起 VBA 就没有改变。
这是Project 2010 文档中对 LookupTable 的参考
如果您打算使用 VSTO 插件,VBA 和 C# 之间也没有太大区别。关于 C# 的唯一一点:不要忘记使用Marshal.ReleaseComObject
垃圾收集器显式释放对 COM 的任何引用并不会释放这些资源。