关于操纵WORD的问题

Z8157522 2009-04-28 04:57:53
通过在已有的WORD摸版中设置标签与样式,在程序通过标签名字获得文本对象,并设置新的内容,然后设置样式.
其他部分的生成都没问题,在试验方法部分结果仅生成了卫生指标与净含量两项,之前的感官与营养指标等没有生成,不知道为什么.确认字符串(str)已获得正确内容且标签设置没有问题.
...全文
72 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Z8157522 2009-04-28
  • 打赏
  • 举报
回复
刚才急着发,描述不太清楚.....

通过向已有的WORD摸版中的文本设置标签与样式,然后在程序中通过标签名字获得文本对象,并设置新的内容,然后再设置样式.
文档的其他部分的生成已经没问题了,但是在"试验方法"部分结果只生成了"卫生指标"与"净含量"两项,之前的"感官"与"营养指标"等都没有生成,不知道为什么.
PS:确认字符串(str)已获得正确内容且标签设置没有问题.
Z8157522 2009-04-28
  • 打赏
  • 举报
回复

public void ReplaceBookmarkText(Word.Document wordDoc, string BookmarkName, string NewText, Object style)
{
if (wordDoc.Bookmarks.Exists(BookmarkName))
{
Object name = BookmarkName;
Word.Range rng = wordDoc.Bookmarks.get_Item(ref name).Range;
rng.Text = NewText;
Object range = rng;
wordDoc.Bookmarks.Add(BookmarkName, ref range);
rng.set_Style(ref style);

}
}
Z8157522 2009-04-28
  • 打赏
  • 举报
回复

:
string title = "感官\n";
obj = "一级条标题";
this.ReplaceBookmarkText(WordDoc, "SenseTitle", title, obj);
obj = "段";
this.ReplaceBookmarkText(WordDoc, "SenseContent", "将样品置于白色搪瓷盘上,在自然光和无异味环境下通过目视、鼻嗅。\n", obj);
DataTable t = DBTools.EDS("select * from TestRule where Cate='其他(感官,水分..)' and WordID=" + selectedID).Tables[0];
int count0 = t.Rows.Count;
for (int i = 0; i < count0; i++)
{
str = str + t.Rows[i][2].ToString() + t.Rows[i][3].ToString() + t.Rows[i][4].ToString()
+ "按" + t.Rows[i][5].ToString() + "的规定执行。\n";
}
obj = "一级条标题";
this.ReplaceBookmarkText(WordDoc, "NextTitle", str, obj);
DataTable t1 = DBTools.EDS("select * from TestRule where Cate='营养成份指标' and WordID=" + selectedID).Tables[0];
obj = "一级条标题";
this.ReplaceBookmarkText(WordDoc, "NuTitle", "营养成份指标\n", obj);
str = "";
int count = t1.Rows.Count;
for (int i = 0; i < count; i++)
{
str = str + " " + t1.Rows[i][2].ToString() + t1.Rows[i][3].ToString() + t1.Rows[i][4].ToString()
+ "按" + t1.Rows[i][5].ToString() + "的规定执行。\n";
}
obj = "二级条标题";
this.ReplaceBookmarkText(WordDoc, "NuContent", str, obj);
DataTable t2 = DBTools.EDS("select * from TestRule where Cate='卫生指标' and WordID=" + selectedID).Tables[0];
count = t2.Rows.Count;
str = "卫生指标\n";
obj = "一级条标题";
this.ReplaceBookmarkText(WordDoc, "HygneTitle", str, obj);
str = "";
for (int i = 0; i < count; i++)
{
str = str + "按" + t2.Rows[i][5].ToString() + "的规定执行。\n";
}
obj = "段";
this.ReplaceBookmarkText(WordDoc, "HygneContent", str, obj);
DataTable t3 = DBTools.EDS("select * from TestRule where Cate='净含量' and WordID=" + selectedID).Tables[0];
count = t3.Rows.Count;
str = "净含量\n";
obj = "一级条标题";
this.ReplaceBookmarkText(WordDoc, "ContentTitle", str, obj);
str = "";
for (int i = 0; i < count; i++)
{
str = str + "净含量的测定按" + t3.Rows[i][5].ToString() + "的规定执行。\n";
}
obj = "段";
this.ReplaceBookmarkText(WordDoc, "CContent", str, obj);

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧