zoukankan
html css js c++ java
合并两个WORD文档,并且修改Word中标签的内容
因工作需要,需要对两个word 文档进行合并
Word.Application objApp
=
new
Word.ApplicationClass();
object
confirmConversion
=
false
;
object
link
=
false
;
object
attachment
=
false
;
object
objMissing
=
Missing.Value;
object
isVisible
=
true
;
object
objFalse
=
false
;
try
{
Word.Document objDoc
=
null
;
objDoc
=
objApp.Documents.Open(
ref
objOrgDoc,
//
FileName
ref
objMissing,
//
ConfirmVersions
ref
objMissing,
//
ReadOnly
ref
objMissing,
//
AddToRecentFiles
ref
objMissing,
//
PasswordDocument
ref
objMissing,
//
PasswordTemplate
ref
objMissing,
//
Revert
ref
objMissing,
//
WritePasswordDocument
ref
objMissing,
//
WritePasswordTemplate
ref
objMissing,
//
Format
ref
objMissing,
//
Enconding
ref
objMissing,
//
Visible
ref
objMissing,
//
OpenAndRepair
ref
objMissing,
//
DocumentDirection
ref
objMissing,
//
NoEncodingDialog
ref
objMissing
//
XMLTransform
);
if
(objDoc.Bookmarks.Exists((
string
)bm_ReceiveOrderNo))
ReplaceBookMark(objDoc, bm_ReceiveOrderNo, receiveOrderNo,
32
);
if
(objDoc.Bookmarks.Exists((
string
)bm_CertNo))
ReplaceBookMark(objDoc, bm_CertNo, certNo,
32
);
if
(objDoc.Bookmarks.Exists((
string
)bm_VerifiedUnit))
ReplaceBookMark(objDoc, bm_VerifiedUnit, verifiedUnit,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_Name))
ReplaceBookMark(objDoc, bm_Name, name,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_Specification))
ReplaceBookMark(objDoc, bm_Specification, specification,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_Rank))
ReplaceBookMark(objDoc, bm_Rank, rank,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_ProductionCode))
ReplaceBookMark(objDoc, bm_ProductionCode, productionCode,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_ProductionUnit))
ReplaceBookMark(objDoc, bm_ProductionUnit, producteUnit,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_ReasonBase))
ReplaceBookMark(objDoc, bm_ReasonBase, reasonBase,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_Conclusion))
ReplaceBookMark(objDoc, bm_Conclusion, conclusion,
55
);
if
(objDoc.Bookmarks.Exists((
string
)bm_VerifyDate))
objDoc.Bookmarks.get_Item(
ref
bm_VerifyDate).Range.Text
=
verifyDate;
if
(objDoc.Bookmarks.Exists((
string
)bm_ExpireDate))
objDoc.Bookmarks.get_Item(
ref
bm_ExpireDate).Range.Text
=
expireDate;
Range r
=
objDoc.Range(
ref
objMissing,
ref
objMissing);
object
direction
=
Word.WdCollapseDirection.wdCollapseEnd;
r.Collapse(
ref
direction);
object
objBreak
=
WdBreakType.wdSectionBreakNextPage;
r.InsertBreak(
ref
objBreak);
r.InsertFile(
this
.txtFilePath.Text,
ref
objMissing,
ref
confirmConversion,
ref
link,
ref
attachment);
object
objOutDoc
=
path;
objDoc.SaveAs(
ref
objOutDoc,
ref
objMissing,
//
FileFormat
ref
objMissing,
//
LockComments
ref
objMissing,
//
PassWord
ref
objMissing,
//
AddToRecentFiles
ref
objMissing,
//
WritePassword
ref
objMissing,
//
ReadOnlyRecommended
ref
objMissing,
//
EmbedTrueTypeFonts
ref
objMissing,
//
SaveNativePictureFormat
ref
objMissing,
//
SaveFormsData
ref
objMissing,
//
SaveAsAOCELetter,
ref
objMissing,
//
Encoding
ref
objMissing,
//
InsertLineBreaks
ref
objMissing,
//
AllowSubstitutions
ref
objMissing,
//
LineEnding
ref
objMissing
//
AddBiDiMarks
);
return
path;
}
finally
{
objApp.Quit(
ref
objFalse,
ref
objMissing,
ref
objMissing
);
objApp
=
null
;
}
private
void
ReplaceBookMark(Document doc,
object
bookmarkName,
string
text,
int
CharLength)
{
Range rng
=
doc.Bookmarks.get_Item(
ref
bookmarkName).Range;
rng.Text
=
text;
int
count
=
System.Text.Encoding.GetEncoding(
"
gb2312
"
).GetBytes(text).Length;
if
(CharLength
>
count)
{
int
startAddedSpaceCount
=
(CharLength
-
count)
/
2
;
int
endAddedSpaceCount
=
(CharLength
-
count)
/
2
+
(CharLength
-
count)
%
2
;
rng.InsertBefore(GetSpaceString(startAddedSpaceCount));
rng.InsertAfter(GetSpaceString(endAddedSpaceCount));
rng.Font.Underline
=
WdUnderline.wdUnderlineSingle;
}
}
private
string
GetSpaceString(
int
StringLength)
{
StringBuilder sb
=
new
StringBuilder();
for
(
int
i
=
0
;i
<
StringLength;i
++
)
{
sb.Append(
"
"
);
}
return
sb.ToString();
}
查看全文
相关阅读:
如何使用Eclipse和GCC搭建STM32环境
增量式pid和位置式PID参数整定过程对比
webrtc 源码结构
小米路由器刷Xiaomi Mi WiFi Mini openwrt
js jQuery 右键菜单 清屏
沉默的大多数 (王小波)
kindle书摘-活着-余华-活着不易,珍惜
kindle书摘-围城-相爱勿相伤
Nagios系列1,选择
红楼梦人物关系图,一代大师成绝响,下回分解待何人,kindle读书摘要
原文地址:https://www.cnblogs.com/nosnowwolf/p/1170951.html
最新文章
pgAdmin4 ubuntu python 安装
手把手在MyEclipse中搭建Hibernate开发环境
<Android 基础(三十三)> TabHost ~ 仿微信底部菜单
狗屁不通的“视频专辑:零基础学习C语言(小甲鱼版)”(1)
C语言初学者代码中的常见错误与瑕疵(5)
C语言初学者代码中的常见错误与瑕疵(4)
C语言初学者代码中的常见错误与瑕疵(3)
C语言初学者代码中的常见错误与瑕疵(2)
《高质量C++/C编程指南》陷阱 【转】
浮点数:一种有漏洞的抽象【译】
热门文章
C语言初学者代码中的常见错误与瑕疵(1)
帮初学者改代码——有多少青春可以挥霍之“c语言 多重排序”
IAR仿真时绿色箭头一直指向汇编界面,而C界面没有
Source Insight中代码块注释
使用 stvd 编译STM8S 时能看到使用RAM ROM大小的方法
source insight 相对路径新建工程
基于STVD给stm8编程遇到的问题
STM8的数据@near @tiny定义
STVD中将现有工程重命名为另一个工程
stm8 stvd工程头文件包含方式
Copyright © 2011-2022 走看看