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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

