首页

获取Word文档的作者和主题

当然要先添加对Word的组件的引用,添加命名空间的引用,代码:

Word.Application oWord;

Word._Document oDoc;

object oMissing = Missing.Value;

object docBuiltInProps;

object Source = @"DocPath";

object Unknown =Type.Missing;

oWord = new Word.Application();

try

{

oDoc = oWord.Documents.Open(ref Source,ref Unknown,

ref Unknown,ref Unknown,ref Unknown,

ref Unknown,ref Unknown,ref Unknown,

ref Unknown,ref Unknown,ref Unknown,

ref Unknown );

docBuiltInProps = oDoc.BuiltInDocumentProperties;

Type typeDocBuiltInProps = docBuiltInProps.GetType();

//获取作者

string index = "Author";

string propsValue;

object docAuthor = typeDocBuiltInProps.InvokeMember("Item",

BindingFlags.Default |

BindingFlags.GetProperty,

null,docBuiltInProps,

new object[] {index} );

Type typeDocAuthorProp = docAuthor.GetType();

propsValue = typeDocAuthorProp.InvokeMember("Value",

BindingFlags.Default |

BindingFlags.GetProperty,

null,docAuthor,

new object[] {} ).ToString();

MessageBox.Show( propsValue,"Author" );

//获取主题

index = "Subject";

propsValue = "The Subject";

object docSubjectProp = typeDocBuiltInProps.InvokeMember("Item",

BindingFlags.Default |

BindingFlags.GetProperty,

null,docBuiltInProps,

new object[] {index} );

Type typeDocSubjectProp = docSubjectProp.GetType();

propsValue = typeDocSubjectProp.InvokeMember("Value",

BindingFlags.Default |BindingFlags.GetProperty,

null,docSubjectProp,

new object[] {} ).ToString();

MessageBox.Show( propsValue,"Subject" );

}

finally

{

//关闭word进程

object save = false;

oWord.Quit(ref save,ref Unknown,ref Unknown);

System.Runtime.InteropServices.Marshal.ReleaseComObject(oWord);

}

,办公群:185219299