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();
}
查看全文
相关阅读:
jython 访问数据库的方法
Server 2008安装FTP的简单教程
如何实现Android重启应用程序代码 ?
android 应用程序自适应屏幕大小
Android Dialog用法
2008Server错误
7种形式的Android Dialog使用举例
ADB使用方法
调用手机震动
android小记之FTP文件上传
原文地址:https://www.cnblogs.com/nosnowwolf/p/1170951.html
最新文章
修改python默认的编码方式
批量生成Oracle DDL文件程序(Jython+zxJDBC版)
Delphi7开发环境的配置
window下使用virtualenv
使用python开发命令行程序的知识点
python的数据库模块
Eclipse pydev 代码检查功能
我的 web develop 路线图
使用python开发命令行程序的知识点之二
MyBatis 学习笔记
热门文章
Nokia5233手机和我装的几个symbian V5手机软件
Raspberry Pi电脑
我使用的windows工具
python实现数据仓库ETL
sublime配置
使用SSH方式访问git repository
我的第一个Python程序批量生成Oracle DDL文件
近期需要学习的python资料
试用 TortoiseHg
最近写了一个bash shell脚本
Copyright © 2011-2022 走看看