首页 > 办公 > Word > 正文

关于如何获取Word文档的作者和主题的讨论

2020-08-03 20:13:12
字体:
来源:转载
供稿:网友

 

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表