c# 可反复打开word2003,word2007文档方法,可直接使用

来源:互联网 发布:矩阵的秩的意义 编辑:程序博客网 时间:2024/05/07 19:07

//最近开发公文排版软件,首次接触office2007,网上很多都是office2003的东西,且不全,因客户需求反复打开word文档,就编写了此方法,希望给有类似需求的码农提供方便。

using Microsoft.Office.Interop.Word;
Document myWordDoc;

private void openWord()
        {       

            Microsoft.Office.Interop.Word.Application myWordApp = new Microsoft.Office.Interop.Word.Application();
           
            object filepath = "";
            OpenFileDialog openDialog = new OpenFileDialog();
            if (openDialog.ShowDialog() == DialogResult.OK) filepath = openDialog.FileName;

            FontDialog fontDialog1 = new FontDialog();
            fontDialog1.ShowDialog();
            System.Drawing.Font font = fontDialog1.Font;
          
            object oMissing = System.Reflection.Missing.Value;
            Document  myWordDoc = myWordApp.Documents.Open(ref filepath, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing,
                ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            myWordDoc.Content.Font.Size = font.Size;
            myWordDoc.Content.Font.Name = font.Name;
            myWordDoc.Save();
            richTextBox1.Text="";
            richTextBox1.Text = myWordDoc.Content.Text;
                    
            myWordDoc.Close(ref oMissing, ref oMissing, ref oMissing);
            myWordApp.Quit(ref oMissing, ref oMissing, ref oMissing);
          
            Process[] process = System.Diagnostics.Process.GetProcesses();
            foreach (Process p in process)
                if (p.ProcessName.ToLower() == "winword") p.Kill();
        }

0 0
原创粉丝点击