为了账号安全,请及时绑定邮箱和手机立即绑定

使用单词插件在当前位置添加表格

使用单词插件在当前位置添加表格

C#
撒科打诨 2022-07-23 09:01:54
我想用我的 Word 加载项添加一个表,其中包含我数据库中的数据。我已经成功地做到了,但现在我对桌子的位置有疑问。我想把它准确地放在我在 Word 文档中的当前位置。但是,它总是在开头添加。有谁知道如何调整我的起始值始终是我当前位置的范围?这是我的代码的一部分:private void createTable_Click(object sender, EventArgs e) {object start = 0, end = 0;Word.Document document = Globals.ThisAddIn.Application.ActiveDocument; Word.Range rng = document.Range(ref start, ref end);// Insert a title for the table and paragraph marks.rng.InsertBefore("List"); rng.Font.Name = "Verdana"; rng.Font.Size = 16; rng.InsertParagraphAfter(); rng.InsertParagraphAfter(); rng.SetRange(rng.End, rng.End);// Add the table.rng.Tables.Add(document.Paragraphs[2].Range, 1, 7, ref missing, ref missing);// Format the table and apply a style.Word.Table tbl = document.Tables[1]; tbl.Range.Font.Size = 8;   tbl.Borders[WdBorderType.wdBorderLeft].LineStyle =  WdLineStyle.wdLineStyleSingle; tbl.Borders[WdBorderType.wdBorderRight].LineStyle =  WdLineStyle.wdLineStyleSingle; tbl.Borders[WdBorderType.wdBorderTop].LineStyle =  WdLineStyle.wdLineStyleSingle; tbl.Borders[WdBorderType.wdBorderBottom].LineStyle =  WdLineStyle.wdLineStyleSingle; tbl.Borders[WdBorderType.wdBorderHorizontal].LineStyle =  WdLineStyle.wdLineStyleSingle; tbl.Borders[WdBorderType.wdBorderVertical].LineStyle =  WdLineStyle.wdLineStyleSingle;tbl.Borders[WdBorderType.wdBorderBottom].Color = WdColor.wdColorBlack; tbl.Rows.Alignment = WdRowAlignment.wdAlignRowCenter; tbl.AutoFitBehavior(WdAutoFitBehavior.wdAutoFitWindow);
查看完整描述

1 回答

?
ITMISS

TA贡献1871条经验 获得超8个赞

重新阅读...在当前位置插入 - 如果您的意思是光标所在的位置:


Word.Range rngSel = wdApp.Selection.Range;

rngSel.Tables.Add(//params here);

否则,如果您的意思是在代码插入信息的末尾,而不是这两行


rng.InsertBefore("List"); 

rng.Font.Name = "Verdana"; 

rng.Font.Size = 16; 

rng.InsertParagraphAfter(); 

rng.InsertParagraphAfter(); 

rng.SetRange(rng.End, rng.End);

利用


rng.Text = "List\n\n"

rng.Font.Name = "Verdana"; 

rng.Font.Size = 16; 

rng.Collapse(WdCollapseDirection.wdCollapseEnd);

\n插入一个新段落(回车)并且可以作为字符串的一部分。


将文本直接分配给该方法Range并使用该Collapse方法(在我看来)比各种 Insert 方法更容易预测。一些 Insert 方法包括在范围内插入的内容,而另一些则不包括。


FWIW 当不清楚问题可能是什么时,它可以帮助将 arng.Select();放在代码中的关键点并注释掉其余的行,以便代码以可见的范围结束。这通常可以提供有关范围问题根源的信息。


查看完整回答
反对 回复 2022-07-23
  • 1 回答
  • 0 关注
  • 155 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号