【问题标题】:Inserting textboxes in Word with C#使用 C# 在 Word 中插入文本框
【发布时间】:2019-03-20 20:24:43
【问题描述】:

到目前为止,还没有在 Stack 上找到这个问题的答案。我以编程方式将部分添加到文档中,每个部分都必须有一个文本框。代码如下:

   for (int i = 1; i <= 24; i++)
   {
     Microsoft.Office.Interop.Word.Section section = oDoc.Sections.Add();
     Microsoft.Office.Interop.Word.Shape textbox =   

        Doc.Shapes.AddTextbox(Microsoft.Office.Core.
        MsoTextOrientation.msoTextOrientationVertical, 575, 50, 30, 100);

   }

对格式问题感到抱歉。结果是一个有 25 页的文档,但所有的文本框都堆叠在第一页上。

【问题讨论】:

  • 您似乎在循环的每次迭代中为函数AddTextbox 中的left 和top 参数提供了完全相同的值。参数如下:AddTextbox(Orientation, Left, Top, Width, Height),因此您可能需要根据需要以编程方式更改Left 和Top 的值。
  • 您正在将文本框直接添加到文档中。我不是这里的专家,但您不想将它们添加到该部分吗?根据该代码,我希望文档中有一堆 25 项内容。您可能必须对 Section 进行格式化以使其拥有自己的页面。

标签: c# ms-word textbox


【解决方案1】:

只需在循环结束标记之前添加这两行

// this line will help you to break the page...

oDoc.Words.Last.InsertBreak(word.WdBreakType.wdPageBreak);

// this line will help to go to the next page and add textbox...

oDoc.PageSetup.Application.GoForward();

这对我有用:)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 2017-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多