明天的明天 永远的永远 未知的一切 我与你一起承担 ??

是非成败转头空 青山依旧在 几度夕阳红 。。。
随笔 - 1277, 文章 - 0, 评论 - 214, 阅读 - 320万
  博客园  :: 首页  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

C# 编辑Word及替代某些内容。。。。

Posted on   且行且思  阅读(3334)  评论(1编辑  收藏  举报

 

using System.Reflection;
using Microsoft.Office.Interop.Word;

复制代码
 string sFileName = "C:\\readme.doc";

        
object missing = System.Reflection.Missing.Value;
        
object Nothing = System.Reflection.Missing.Value;

        Microsoft.Office.Interop.Word.Application wa 
= new Microsoft.Office.Interop.Word.Application();

        Microsoft.Office.Interop.Word.Document doc 
= new Microsoft.Office.Interop.Word.Document();

        wa.Documents.Add(
ref missing, ref missing, ref missing, ref missing);
        doc 
= wa.ActiveDocument;

        
//向word中导入文件,可以把HTML文件导入到一个word中.

        wa.Selection.InsertFile(sFileName, 
ref missing, ref missing, ref missing, ref missing);

        
object unit;
        unit 
= Microsoft.Office.Interop.Word.WdUnits.wdStory;
        wa.Selection.HomeKey(
ref unit, ref missing);

        
//如果文档中有个书签时,可以直接定向到书签,可以在当前位置,插入文本,图片等,在HTML中,书签指<a name="mypic"></a> 

        
object Bookmark = (int)Microsoft.Office.Interop.Word.WdGoToItem.wdGoToBookmark;
        
object NameBookMark = "mypicImg";
        wa.Selection.GoTo(
ref Bookmark, ref missing, ref missing, ref NameBookMark);


        
//要插入的图片文件
        wa.Selection.InlineShapes.AddPicture("C:\\webbg.png"ref missing, ref missing, ref missing);

        
//插入本文
        wa.Selection.TypeText("xcxcxcxxcxccxcxccxcx");

        
//保存的word

        
//注意,如果是打开一个HTML文档,而由HTML另存为doc文档时,插入的图片会生成ab.file这样的目录,来存储当前图片文件,如果是新建的空word文档,再把HTML导入到word文档中,再插入图片就不会出现ab.file这样的目录,图片会直接保存的word文档ab.doc中

        
object s = Server.MapPath("abs.doc");
        doc.SaveAs(
ref s, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
        

       
        
//关闭网页wordDoc2
        doc.Close(ref Nothing, ref Nothing, ref Nothing);
        
if (doc != null)
             {
                 System.Runtime.InteropServices.Marshal.ReleaseComObject(doc);
                 doc 
= null;
             }
             
//关闭wordApp
             wa.Quit(ref Nothing, ref Nothing, ref Nothing);
             
if (wa != null)
             {
                 System.Runtime.InteropServices.Marshal.ReleaseComObject(wa);
                 wa 
= null;
             }
复制代码

 

 

 

 

 //public static bool PrintEnvelope(string from, string to)
        // {
        // //
        // //string temp = Properties.Resources.EnvelopeTemplate.Replace("«ReturnAddress»", from).Replace("«ReceiverAddress»", to);
        // string temp = Properties.Resources.EnvelopeTemplate;
        // //string TempPath = System.Windows.Forms.Application.ExecutablePath.ToString().Trim().Substring(0, System.Windows.Forms.Application.ExecutablePath.ToString().Trim().LastIndexOf(@"\\") + 1) + "\\\\Envelope.xml";

        // if (File.Exists(TempPath)) File.Delete(TempPath);
        // System.IO.FileStream fs = new System.IO.FileStream(TempPath, System.IO.FileMode.CreateNew);
        // System.IO.StreamWriter sw = new System.IO.StreamWriter(fs,Encoding.UTF8);
        
        // sw.Write(temp);
        // sw.Close();
        
        // object fileName = TempPath;
        // object readOnly = false;
        // object isVisible = true;
        // object missing = System.Reflection.Missing.Value;
        // object range = Microsoft.Office.Interop.Word.WdPrintOutRange.wdPrintCurrentPage;
        // Microsoft.Office.Interop.Word.Application wordApp;
        // //Document d = new DocumentClass();
        // try
        //{
        // object o = Marshal.GetActiveObject("Word.Application");
        // wordApp = o as Microsoft.Office.Interop.Word.Application;
        // }
        // catch
        //{
        // wordApp = new ApplicationClass();
        // }

        // Document d = wordApp.Documents.Open(ref fileName, ref missing, ref missing,
        //ref missing, ref missing, ref missing, ref missing, ref missing, ref missing,
        //ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
        // //replace
        // d.Envelope.ReturnAddress.Text = from;
        // d.Envelope.Address.Text = to;
        
        // //object findText="«ReturnAddress»";
        // //object replaceWidth=from;
        // //wordApp.Selection.Find.Execute(ref findText, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref replaceWidth, ref missing, ref missing, ref missing, ref missing, ref missing);

        // //object findText2 = "«ReceiverAddress»";
        // //object replaceWidth2 = to;
        
        
        // //wordApp.Selection.Find.Execute(ref findText2, ref missing, ref missing, ref missing, ref missing, ref missing, ref readOnly, ref missing, ref missing, ref replaceWidth2, ref missing, ref missing, ref missing, ref missing, ref missing);

        // //
        // d.Activate();
        // d.PrintOut(ref missing, ref missing, ref range, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing, ref missing);
        // d.Close(ref readOnly, ref missing, ref missing);
        // File.Delete(TempPath);
        // return true;
        
        // }

 

 

word操作

 

 

 

编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示