简单的Word操作对象

public class WordCombineUtil
{
/// <summary>
/// com对象常用的参数
/// </summary>
public static object Miss_Object = System.Reflection.Missing.Value;

/// <summary>
/// 合并word文档
/// </summary>
/// <param name="orgs">需要合并的文档路径</param>
/// <param name="dest">目标文档</param>
public static void Combine(string[] orgs, ref object dest)
{
if (orgs != null&&orgs.Length>=2)
{
ApplicationClass oWordApplic = new ApplicationClass();
Document oDoc;
//,saveDoc;
object readOnly = false;
object isVisible = true;
object fileName = orgs[0];
oDoc=oWordApplic.Documents.Open(ref fileName, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object);
oWordApplic.Selection.WholeStory();
oWordApplic.Selection.Copy();
oWordApplic.Selection.Paste();
System.Windows.Forms.Clipboard.Clear();
//oWordApplic.Selection.MoveEnd(ref Miss_Object, ref Miss_Object);

// saveDoc = oWordApplic.Documents.Add(ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object);
// saveDoc = oWordApplic.Documents.Open(ref template, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object);
// object fileName = null;

string tempFile = string.Empty;
object confirmConversion = false;
object link = false;
object attachment = false;
object wdline = Microsoft.Office.Interop.Word.WdUnits.wdLine;
object count = 1;

for (int i = 1; i <orgs.Length; i++)
{

/*
fileName=orgs[i];
if (i > 0)
{
oWordApplic.Selection.EndKey(ref Miss_Object, ref Miss_Object);
oWordApplic.Selection.InsertBreak(ref Miss_Object);
}
oDoc = oWordApplic.Documents.Open(ref fileName , ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object);
oDoc.Activate();
oWordApplic.Selection.WholeStory();
oWordApplic.Selection.Copy();
saveDoc.Activate();
oWordApplic.Selection.Paste();
oDoc.Close(ref Miss_Object, ref Miss_Object, ref Miss_Object);
GC.SuppressFinalize(oDoc);
oDoc = null;
*/

tempFile = orgs[i];
//oWordApplic.Selection.m

// oWordApplic.Selection.EndKey(ref Miss_Object, ref Miss_Object);

oWordApplic.Selection.InsertBreak(ref Miss_Object);

//oWordApplic.Selection.InsertBefore("\r");
// oWordApplic.Selection.MoveUp(ref wdline, ref count,ref Miss_Object);
oWordApplic.Selection.InsertFile(tempFile, ref Miss_Object, ref confirmConversion, ref link, ref attachment);

}
//saveDoc.SaveAs(ref dest, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object);
//saveDoc.Close(ref Miss_Object, ref Miss_Object, ref Miss_Object);

oDoc.SaveAs(ref dest, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object, ref Miss_Object);
oDoc.Close(ref Miss_Object, ref Miss_Object, ref Miss_Object);
oWordApplic.Quit(ref Miss_Object, ref Miss_Object, ref Miss_Object);
oWordApplic = null;
}

}
}

posted @   龙丶谈笑风声  阅读(78)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示