CSDN博客

img 21aspnet

获取Word文档的作者和主题

发表于2004/10/29 20:50:00  2289人阅读

分类: VSTO Office开发 文件操作

当然要先添加对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);    
            }

阅读全文
0 0

相关文章推荐

img
取 消
img