Csharp 简单操作Word模板文件

简介: 原文:Csharp 简单操作Word模板文件1.创建一个模板的Word文档  Doc1.dot 内容为: To: Sub:   Website is ok geovindu 涂聚文好样的 work.
原文: Csharp 简单操作Word模板文件

1.创建一个模板的Word文档  Doc1.dot 内容为:

To: <Name>

Sub:<Subject>

 

Website is ok geovindu 涂聚文好样的 work.

CEo

                         <Datetime>

Thanks.

 

2.程序操作代码为:

       /// <summary>
        /// 簡單操作Word模板文件
        /// 塗聚文 2011-11-03
        /// 缔友计算机信息技术有限公司
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            DateTime startTime = DateTime.Now;
            DateTime endTime = DateTime.Now;
            System.Random srd = new Random();
            int srdName = srd.Next(1000);
            string newfile = path + DateTime.Now.ToString("yyyyMMddhhmmss") + srdName.ToString()+".doc"; //新文件名         
            try
            {
                
                startTime = DateTime.Now;   
                //killprocess("winword");
                //  復制模板文件
                File.Copy(path + fileName, newfile, true);//fileName = "Doc1.doc";//模板文件
               
                object missing = Missing.Value;
                
                Word.Application wordApp = new Word.ApplicationClass();
                endTime = DateTime.Now;
                
                Word.Document aDoc = null;
               
                object file = newfile;//新文件替換                
                if (File.Exists((string)file))//判斷新文件存在否
                {
                    object readOnly = false;
                    object isVisible = false;                    
                    wordApp.Visible = false;                    
                    aDoc = wordApp.Documents.Open(ref file, ref missing,
                    ref readOnly, ref missing, ref missing, ref missing,
                    ref missing, ref missing, ref missing, ref missing,
                    ref missing, ref isVisible, ref missing, ref missing,
                    ref missing, ref missing);
                    aDoc.Activate();                   
                    this.FindAndReplace(wordApp, "<Datetime>", this.dateTimePicker1.Text);
                    this.FindAndReplace(wordApp, "<Name>", this.textBoxName.Text.Trim());
                    this.FindAndReplace(wordApp, "<Subject>",this.textBoxSubject.Text.Trim());                    
                    aDoc.Save();
                }
                else
                    MessageBox.Show("File does not exist.","No File", MessageBoxButtons.OK,MessageBoxIcon.Information);
               // killprocess("winword");
            }
            catch (Exception)
            {
                MessageBox.Show("Error in process.", "Internal Error",
                MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            finally
            {
                killprocess(startTime, endTime, "winword");
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
        }
        /// <summary>
        /// 關閉進程 塗聚文 2011-11-03
        /// </summary>
        /// <param name="pro"></param>
        public void killprocess(DateTime start, DateTime end, string ProcessName)
        {
            //foreach (Process p in Process.GetProcessesByName(pro))
            //{
            //    if (!p.HasExited)
            //    {
            //        p.Kill();
            //    }
            //}
                Process[] myProcesses;
                DateTime ProStartTime;
                myProcesses = Process.GetProcessesByName(ProcessName);

                //因为暂时没有想到得到Excel进程ID的方法,所以只能判断进程启动时间
                foreach (Process myProcess in myProcesses)
                {
                    ProStartTime = myProcess.StartTime;
                    //myProcess.Id

                    if (start <= ProStartTime && ProStartTime <= end)
                    {
                        myProcess.Kill();
                    }
                }
   

        }
        /// <summary>
        /// 找查替換內容 塗聚文 2011-11-03
        /// </summary>
        /// <param name="wordApp"></param>
        /// <param name="findText"></param>
        /// <param name="replaceText"></param>
        private void FindAndReplace(Word.Application wordApp,object findText, object replaceText)
        {
            object matchCase = true;
            object matchWholeWord = true;
            object matchWildCards = false;
            object matchSoundsLike = false;
            object matchAllWordForms = false;
            object forward = true;
            object format = false;
            object matchKashida = false;
            object matchDiacritics = false;
            object matchAlefHamza = false;
            object matchControl = false;
            object read_only = false;
            object visible = true;
            object replace = 2;
            object wrap = 1;
            wordApp.Selection.Find.Execute(ref findText, ref matchCase,
                ref matchWholeWord, ref matchWildCards, ref matchSoundsLike,
                ref matchAllWordForms, ref forward, ref wrap, ref format,
                ref replaceText, ref replace, ref matchKashida,
                        ref matchDiacritics,
                ref matchAlefHamza, ref matchControl);
        }

 

目录
相关文章
Word处理控件Spire.Doc常见问题解答
为方便使用者快速掌握和了解Spire.Doc,本文列举了Word处理控件Spire.Doc常见问题及解答欢迎下载体验!
|
7月前
|
Java Linux 数据安全/隐私保护
Java【代码 16】将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
【2月更文挑战第3天】Java 将word、excel文件转换为pdf格式和将pdf文档转换为image格式工具类分享(Gitee源码)aspose转换中文乱码问题处理
314 0
|
Java Apache
Java 使用word模板创建word文档报告教程
Java 使用word模板创建word文档报告教程
617 0
Java 使用word模板创建word文档报告教程
word安装(ppt、excel),以及word的常用设置
word安装(ppt、excel),以及word的常用设置
108 0
|
索引
NoteExpress的Word插件出现报错问题解决
NoteExpress的Word插件出现报错问题解决
572 0
NoteExpress的Word插件出现报错问题解决
|
机器学习/深度学习 算法
Computer:如何将表格以正确地姿势从Excel文件复制粘贴到word文件中(保证两个数据源一致)
Computer:如何将表格以正确地姿势从Excel文件复制粘贴到word文件中(保证两个数据源一致)
Computer:如何将表格以正确地姿势从Excel文件复制粘贴到word文件中(保证两个数据源一致)
|
测试技术 机器人
Robot Framework之读取后缀名为.xls文件,并保存为list
一、首先读文件需要ExcelLibrary包支持 1.安装ExcelLibrary 可以直接通过命令安装:pip install robotframework-ExcelLibrary robotframework-ExcelLibrary 2.
1971 0