c#中如何正确替换word书签的内容? string strWordTemplate = Server.MapPath("司法.doc"); // 模板文件
Word.Application WordApp = new Word.ApplicationClass(); // 定义一个Word.Application 对象
Word.Document doc = OpenDoc(strWordTemplate,ref WordApp,1); //定义一个Word.Document 对象
foreach(Word.Book BM in doc.Books)
{
switch(BM.Name)
{
case "PrintCopySEGN":
BM.Select();
BM.Range.Text="test";//在这里报错,原因是 赋值前 BM.Range.Text = " formText " 执行这条语句之后提示: "无法删除范围。" break;
}
......
}请高手帮忙解答
Word.Application WordApp = new Word.ApplicationClass(); // 定义一个Word.Application 对象
Word.Document doc = OpenDoc(strWordTemplate,ref WordApp,1); //定义一个Word.Document 对象
foreach(Word.Book BM in doc.Books)
{
switch(BM.Name)
{
case "PrintCopySEGN":
BM.Select();
BM.Range.Text="test";//在这里报错,原因是 赋值前 BM.Range.Text = " formText " 执行这条语句之后提示: "无法删除范围。" break;
}
......
}请高手帮忙解答
解决方案 »
- 数据库记录添加——用数组变量给字段赋值,并添加到数据库中
- 如何使用C#去关闭服务?
- 菜鸟级的 button按钮 问题~~~
- 如何获得数组中所有元素的某一字段组成的数组
- c#与plc通讯的问题
- 关于如何实现图片之间的切换效果,像外面大屏幕中那样的效果。(连续图片切换)
- 用过OWC的高手进来,问画图问题
- 求教gridview里找控件的问题_gridView.Rows[_rowIndex].Cells[_columnIndex].Controls[3]
- 水晶报表问题
- 怎样屏蔽掉系统的异常对话框?
- 100分求:Cell组件有SaveToBuffer函数VB调用实例,怎样在C#中调用
- 为什么系统的DLL可以直接DllImport,我自己的DLL就不可以,等待高手ing...
{
//数据库是否存在
if( this.getData() )
{
System.Data.DataRow dr;
System.Data.DataView dv= this.dsScore.Tables[0].DefaultView;
for( int i=0; i< this.dsStu.Tables[0].Rows.Count; i++ )
{
//建立新文档
object missing = System.Reflection.Missing.Value;
if( App == null )
App = new Word.ApplicationClass();
App.Visible = true;
object oTemplate = this.模板.Text.Trim();
doc = App.Documents.Add(ref oTemplate, ref missing,ref missing, ref missing);
doc.Activate(); Word.Books bms = doc.Books;
//替换开学日期等内容
foreach( String s in bmsComm)
{
this.replace( bms, s, this.getControlText( s ) );
}
dr = dsStu.Tables[0].Rows[i]; //替换学生纪律情况等
foreach( System.Data.DataColumn dc in dsStu.Tables[0].Columns )
{
this.replace( bms, dc.Caption, dr[ dc.Caption].ToString() );
} //替换成绩
int n = 1;
dv.RowFilter = "学号=" + dr["学号"].ToString();
foreach(DataRowView row in dv)
{
this.replace( bms,"课程名称"+n.ToString(),row["课程名称"].ToString());
this.replace( bms,"成绩"+n.ToString(),row["成绩"].ToString());
n++;
}
//使用默认打印机打印文档
//C#不提供默认参数真是麻烦
doc.PrintOut( 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,ref missing,ref missing,ref missing); //关闭文档而不保存
object SaveChanges = Word.WdSaveOptions.wdDoNotSaveChanges;
missing = System.Reflection.Missing.Value;
doc.Close( ref SaveChanges, ref missing, ref missing);
}
}
}MARK
ojbect name ="PrintCopySEGN";
rng = word.ActiveDocument.Books. get_Item(ref name).Range;
rng.Text = "Hello";
range = rng;
word.ActiveDocument.Books.Add("bookMk1", ref range);