我正在嘗試以單詞.doc(word 97 - 2003)編程方式更新現有的自定義屬性。我最初使用Aspose解決問題,但由於許可證有限,我無法將其用於此項目。正在更新現有的自定義屬性word doc
此代碼是批量從這裏進行小修改字而不是excel Accessing Excel Custom Document Properties programatically。
第一種方法用於添加自定義屬性(如果它不存在),第二種方法可以拉取自定義屬性。我還沒有想出如何更新已經存在的屬性。我認爲它可能與InvokeMember()中的動詞有關,但我找不到多少文檔。
public void SetDocumentProperty(string propertyName, string propertyValue)
{
object oDocCustomProps = oWordDoc.CustomDocumentProperties;
Type typeDocCustomProps = oDocCustomProps.GetType();
object[] oArgs = {propertyName,false,
MsoDocProperties.msoPropertyTypeString,
propertyValue};
typeDocCustomProps.InvokeMember("Add",
BindingFlags.Default | BindingFlags.InvokeMethod,
null,
oDocCustomProps,
oArgs);
}
public object GetDocumentProperty(string propertyName, MsoDocProperties type)
{
object returnVal = null;
object oDocCustomProps = oWordDoc.CustomDocumentProperties;
Type typeDocCustomProps = oDocCustomProps.GetType();
object returned = typeDocCustomProps.InvokeMember("Item",
BindingFlags.Default |
BindingFlags.GetProperty, null,
oDocCustomProps, new object[] { propertyName });
Type typeDocAuthorProp = returned.GetType();
returnVal = typeDocAuthorProp.InvokeMember("Value",
BindingFlags.Default |
BindingFlags.GetProperty,
null, returned,
new object[] { }).ToString();
return returnVal;
}
http://docx.codeplex.com/ – 2012-07-27 19:08:57
這個庫看起來不錯,但我必須.doc文件 – Curtis 2012-07-27 20:34:55