我以前做的开发是用的微软的office, 现在单位要WPS的office,所以我的程序也得有变动, 我以前做的是在微软word中定义书签,根据定义的书签在WORD中写放内容.可改成WPS后. 网面上的内容无法付给定义的书签(比如第一个书签wsee.Bh.Trim()能取到内容却无法赋给bm.Range.Text),不知道各位有没有什么好的办法.下面是部分代码 Document doc = app.Documents.Open((string)newfile, false, false, false, "", "", false, "", "", 0, 0, false, false, 0, false); bool noPicUserSignatory = false; string pers; try { foreach (Bookmark b3 in doc.Bookmarks) { b3.Range.Text = string.Empty; } foreach (Bookmark bm in doc.Bookmarks) { bm.Select(); switch (bm.Name) { case "Bh": bm.Range.Text = wsee.Bh.Trim(); break; case "Sqr": bm.Range.Text = wsee.Sqr.Trim(); break; case "Sqsj": if (wsee.Sqsj>new DateTime(1000,1,1)) { bm.Range.Text = wsee.Sqsj.ToString("yyyy月 MM月 dd日").Trim(); } break; case "Jhgzsj": bm.Range.Text = wsee.Jhgzsj.Trim(); break; case "Gzry": bm.Range.Text = wsee.Gzry.Trim(); break; case "Bz": bm.Range.Text = wsee.Bz.Trim(); break; } } if (noPicUserSignatory) { Page.ClientScript.RegisterClientScriptBlock( this.GetType(), "script", "人员(" + personName.Trim() + ")的电子签名缺失,请联系管理员。"); } else { doc.Save(); } } finally { //关闭文档 doc.Close(ref tflag, ref nothing, ref nothing); app.Quit(ref tflag, ref nothing, ref nothing); //关闭进程 if (doc != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(doc); doc = null; } if (app != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(app); app = null; } GC.Collect(); } TOP 本文来源:https://www.wddqw.com/doc/82da414f852458fb770b5615.html