Ejemplo n.º 1
0
        private void WordReplace(string filePath, string strOld, string strNew)
        {
            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
            object nullobj = System.Reflection.Missing.Value;
            object file    = filePath;

            Microsoft.Office.Interop.Word._Document doc = app.Documents.Open(
                ref file, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj,
                ref nullobj, ref nullobj, ref nullobj, ref nullobj) as Microsoft.Office.Interop.Word._Document;

            app.Selection.Find.ClearFormatting();
            app.Selection.Find.Replacement.ClearFormatting();
            app.Selection.Find.Text             = strOld;
            app.Selection.Find.Replacement.Text = strNew;

            object objReplace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;

            app.Selection.Find.Execute(ref nullobj, ref nullobj, ref nullobj,
                                       ref nullobj, ref nullobj, ref nullobj,
                                       ref nullobj, ref nullobj, ref nullobj,
                                       ref nullobj, ref objReplace, ref nullobj,
                                       ref nullobj, ref nullobj, ref nullobj);
            doc.Save();
            doc.Close(ref nullobj, ref nullobj, ref nullobj);

            app.Quit(ref nullobj, ref nullobj, ref nullobj);
        }
Ejemplo n.º 2
0
        ///<summary>
        /// 替换word模板文件内容,包括表格中内容
        /// </summary>
        /// <param name="filePath">文件全路径</param>
        /// <param name="arr_Old">占位符数组</param>
        /// <param name="arr_New">替换字符串数组</param>
        public Microsoft.Office.Interop.Word.Application WordStringsReplace(string filePath, ArrayList arr_Old, ArrayList arr_New)
        {
            Microsoft.Office.Interop.Word.Application app = new Microsoft.Office.Interop.Word.Application();
            object oMissing = System.Reflection.Missing.Value;
            object file     = filePath;

            Microsoft.Office.Interop.Word._Document doc = app.Documents.Open(ref file,
                                                                             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);
            for (int i = 0; i < arr_Old.Count; i++)
            {
                app.Selection.Find.ClearFormatting();
                app.Selection.Find.Replacement.ClearFormatting();
                app.Selection.Find.Text             = arr_Old[i].ToString();
                app.Selection.Find.Replacement.Text = arr_New[i].ToString();
                object objReplace = Microsoft.Office.Interop.Word.WdReplace.wdReplaceAll;
                app.Selection.Find.Execute(ref oMissing, ref oMissing, ref oMissing,
                                           ref oMissing, ref oMissing, ref oMissing,
                                           ref oMissing, ref oMissing, ref oMissing,
                                           ref oMissing, ref objReplace, ref oMissing,
                                           ref oMissing, ref oMissing, ref oMissing);
            }

            //保存
            doc.Save();
            doc.Close(ref oMissing, ref oMissing, ref oMissing);
            app.Quit(ref oMissing, ref oMissing, ref oMissing);
            return(app);
        }
Ejemplo n.º 3
0
        private void executeToWord(Record beforeRecord, Record afterRecord)
        {
            oWord.Visible = true;
            object oFileName = "";

            try
            {
                File.Copy(@"D:\扭力扳手校验记录单(专检)QM1_TCD00000003344_B_20180420_083651_0.doc", Application.StartupPath + @"\test.doc", true);// + DateTime.Now.ToString() + ".doc", true);
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            oFileName = Application.StartupPath + @"\test.doc";
            oDoc      = oWord.Documents.Open(ref oFileName, ref oMissing, ref oReadOnly, ref oMissing, ref oMissing,
                                             ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing, ref oMissing);
            oDoc = oWord.ActiveDocument;
            int count = oDoc.Bookmarks.Count;

            for (int i = count; i > 0; i--)
            {
                //Conclusion: "不合格non-conformity" "合格conformity"
                // ToolCode,Date,NominalValue,MaxValue,MinValue,TestData1,TestData2,TestData3,Conclusion,CheckName,QSName,
                // AfterMaxValue,AfterMinValue,AfterTorqueValue,AfterDate,AfterCheckName,AfterQSName,AfterConclusion

                if (oDoc.Bookmarks[i].Name.Equals("ToolCode"))
                {
                    oDoc.Bookmarks[i].Range.Text = beforeRecord.SeriesNum;
                }
                if (oDoc.Bookmarks[i].Name.Equals("Date"))
                {
                    oDoc.Bookmarks[i].Range.Text = beforeRecord.CreateTime.ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("NominalValue"))
                {
                    oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].Standard.ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("MaxValue"))
                {
                    oDoc.Bookmarks[i].Range.Text = ((beforeRecord.RecordDetailList[0].Upper + 1) * beforeRecord.RecordDetailList[0].Standard).ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("MinValue"))
                {
                    oDoc.Bookmarks[i].Range.Text = ((beforeRecord.RecordDetailList[0].Lower + 1) * beforeRecord.RecordDetailList[0].Standard).ToString();
                }
                if (beforeRecord.RecordDetailList.Count == 1)
                {
                    if (oDoc.Bookmarks[i].Name.Equals("TestData1"))
                    {
                        oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].TestValue.ToString();
                    }
                }
                else if (beforeRecord.RecordDetailList.Count == 2)
                {
                    if (oDoc.Bookmarks[i].Name.Equals("TestData1"))
                    {
                        oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].TestValue.ToString();
                    }
                    if (oDoc.Bookmarks[i].Name.Equals("TestData2"))
                    {
                        oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[1].TestValue.ToString();
                    }
                }
                else if (beforeRecord.RecordDetailList.Count == 3)
                {
                    if (oDoc.Bookmarks[i].Name.Equals("TestData1"))
                    {
                        oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[0].TestValue.ToString();
                    }
                    if (oDoc.Bookmarks[i].Name.Equals("TestData2"))
                    {
                        oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[1].TestValue.ToString();
                    }
                    if (oDoc.Bookmarks[i].Name.Equals("TestData3"))
                    {
                        oDoc.Bookmarks[i].Range.Text = beforeRecord.RecordDetailList[2].TestValue.ToString();
                    }
                }
                if (oDoc.Bookmarks[i].Name.Equals("Conclusion"))
                {
                    oDoc.Bookmarks[i].Range.Text = beforeRecord.Result == 1 ? "不合格non-conformity":"合格conformity";
                }
                if (oDoc.Bookmarks[i].Name.Equals("CheckName"))
                {
                    oDoc.Bookmarks[i].Range.Text = beforeRecord.Operator.ToString();
                }
                //if (oDoc.Bookmarks[i].Name.Equals("QSName")) oDoc.Bookmarks[i].Range.Text = record.ProName;

                if (oDoc.Bookmarks[i].Name.Equals("AfterMaxValue"))
                {
                    oDoc.Bookmarks[i].Range.Text = ((afterRecord.RecordDetailList[0].Upper + 1) * afterRecord.RecordDetailList[0].Standard).ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("AfterMinValue"))
                {
                    oDoc.Bookmarks[i].Range.Text = ((afterRecord.RecordDetailList[0].Lower + 1) * afterRecord.RecordDetailList[0].Standard).ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("AfterTorqueValue"))
                {
                    oDoc.Bookmarks[i].Range.Text = afterRecord.RecordDetailList[0].TestValue.ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("AfterDate"))
                {
                    oDoc.Bookmarks[i].Range.Text = afterRecord.CreateTime.ToString();
                }
                if (oDoc.Bookmarks[i].Name.Equals("AfterCheckName"))
                {
                    oDoc.Bookmarks[i].Range.Text = afterRecord.Operator;
                }
                //if (oDoc.Bookmarks[i].Name.Equals("AfterQSName")) oDoc.Bookmarks[i].Range.Text = afterRecord.ProName;
                if (oDoc.Bookmarks[i].Name.Equals("AfterConclusion"))
                {
                    oDoc.Bookmarks[i].Range.Text = afterRecord.Result == 0 ? "不合格non-conformity":"合格conformity";
                }
            }
            oDoc.PrintOut();
            oDoc.Save();
            oDoc.Close();
            GC.Collect();
        }
Ejemplo n.º 4
0
 public void closeFile()
 {
     oDoc.Save();
     oDoc.Close();
 }