public string Path { get { DirectoryInfo info = new DirectoryInfo(Application.StartupPath); return info.Parent.Parent.FullName + " \\WordData\\Table.docx " ; } } // 【C# 在word文檔中復制表格并粘帖到下一頁中】 private void button1_Click( object sender, EventArgs e) { object missing = Missing.Value; Word.Application app = new Word.Application(); app.Visible = true ; // 導入模板 object filename = Path; Word.Document doc = app.Documents.Add( ref filename, missing, missing, missing); // 復制第一個表格 doc.Tables[ 1 ].Select(); app.Selection.Copy(); // 在這里操作表格的文本 Word.Cell cellOne = doc.Tables[ 1 ].Cell( 1 , 1 ); cellOne.Range.Text = " 這是第一個表格 " ; cellOne.Range.Bold = 2 ; cellOne.Range.Font.ColorIndex = Word.WdColorIndex.wdRed; // 下一頁 object myunit = Word.WdUnits.wdStory; app.Selection.EndKey( ref myunit, ref missing); object pBreak = ( int )Word.WdBreakType.wdPageBreak; app.Selection.InsertBreak( ref pBreak); // 粘貼第一個表格 app.Selection.Paste(); // 操作第二個表格單元格 Word.Cell cellTwo = doc.Tables[ 2 ].Cell( 1 , 1 ); cellTwo.Range.Text = " 這是第二個表格 " ; cellTwo.Range.Underline = Word.WdUnderline.wdUnderlineDash; } // 【C#實現WORD文檔的內容復制和替換】 private void button2_Click( object sender, EventArgs e) { LocalPathHelper pathHelper = new LocalPathHelper(); string sourceWord = WordPath.GetWordDataFullFileName( " copy.docx " ); string targetWord = pathHelper.DesktopPath() + " \\target.docx " ; // 復制文件 Word.Document doc = copyWord(sourceWord); // 查找替換 ReplaceAndSave(doc, targetWord); } // 復制word內容到Document對象 public Word.Document copyWord( object sourcePath) { object objDocType = Word.WdDocumentType.wdTypeDocument; object type = Word.WdBreakType.wdSectionBreakContinuous; object missing = Missing.Value; Word.Application app = new Word.Application(); Word.Document doc; object readOnly = false ; object isVisible = false ; doc = app.Documents.Add( ref missing, ref missing, ref missing, ref missing); Word.Document opendWord = app.Documents.Open( ref sourcePath, 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); opendWord.Select(); opendWord.Sections[ 1 ].Range.Copy(); object start = 0 ; Word.Range newRange = doc.Range( ref start, ref start); // 插入換行符 // newWordDoc.Sections[1].Range.InsertBreak(ref type); doc.Sections[ 1 ].Range.PasteAndFormat(Word.WdRecoveryType.wdPasteDefault); opendWord.Close( ref missing, ref missing, ref missing); return doc; } // 替換復制好的內容 public void ReplaceAndSave(Word.Document doc, object savePath) { object format = Word.WdSaveFormat.wdFormatDocument; object missing = Missing.Value; object readOnly = false ; object isVisible = false ; string strOldText = " {Word} " ; string strNewText = " {提花后的文本} " ; List < string > listStr = new List< string > (); listStr.Add( " {Word1} " ); listStr.Add( " {Word2} " ); Word.Application app = new Word.Application(); // Microsoft.Office.Interop.Word.Document oDoc = wordApp.Documents.Open(ref obj, ref Nothing, ref readOnly, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref isVisible, ref Nothing, ref Nothing, ref Nothing, ref Nothing); Word.Document newDoc = doc; object FindText, ReplaceText, ReplaceAll; foreach ( string str in listStr) { newDoc.Content.Find.Text = str; // 要找的文本 FindText = str; // 替換文本 ReplaceText = strNewText; // wdReplaceAll - 替換找到的所有項。 // wdReplaceNone - 不替換找到的任何項。 // wdReplaceOne - 替換找到的第一項。 ReplaceAll = Word.WdReplace.wdReplaceAll; // 移除Find的搜索文本和段落格式設置 newDoc.Content.Find.ClearFormatting(); if (newDoc.Content.Find.Execute( ref FindText, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref ReplaceText, ref ReplaceAll, ref missing, ref missing, ref missing, ref missing)) { MessageBox.Show( " 替換成功 " ); } else { MessageBox.Show( " 沒有相關替換的:' " + str + " '字符 " ); } } newDoc.SaveAs2( ref savePath); // 關閉文檔對象,關閉組件對象 newDoc.Close( ref missing, ref missing, ref missing); app.Quit( ref missing, ref missing, ref missing); }
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
