gpt4 book ai didi

vb.net - 通过 vb.net 将表格插入到 word 中

转载 作者:行者123 更新时间:2023-12-01 23:44:54 33 4
gpt4 key购买 nike

我正在制作一个插件。必须可以插入表格。应能指定尺寸和位置。当我插入第一个表时它工作正常,但是如果我插入另一个表,那么第一个表被删除并插入新表。我对 vb.net 还是很陌生,所以代码可能不是最好的。

    With Globals.WordAddIn.ActiveDocument.Tables.Add(Globals.WordAddIn.ActiveDocument.Range, 1, 1)
.TopPadding = 0
.BottomPadding = 0
.LeftPadding = 0
.RightPadding = 0
.Rows.WrapAroundText = True
.Rows.RelativeHorizontalPosition = Word.WdRelativeHorizontalPosition.wdRelativeHorizontalPositionPage
.Rows.RelativeVerticalPosition = Word.WdRelativeVerticalPosition.wdRelativeVerticalPositionPage
.Rows.HorizontalPosition = dobHorizontal
.Rows.VerticalPosition = dobVertical
.Rows.Height = dobHeight
.Columns.Width = dobWidth
End With

最佳答案

假设您使用上面的代码添加两个表(可能在循环中),我认为问题在于您使用第二个表覆盖了第一个表,因为您使用了相同的范围。

Tables.Add 的文档说:

The range where you want the table to appear. The table replaces the range, if the range isn't collapsed.



如果您将代码的第一行更改为:
With Globals.WordAddIn.ActiveDocument.Tables.Add(Globals.WordAddIn.ActiveDocument.Range, 1, 1)


dim range = Globals.WordAddIn.ActiveDocument.Range;
With Globals.WordAddIn.ActiveDocument.Tables.Add(range, 1, 1)

然后在你添加你的第一个表之后,你做:
range.Collapse(Word.WdCollapseDirection.wdCollapseEnd);

它应该让您添加两个表。

但是,如果您紧接着添加两个表格,我认为 Word 会将它们合并到一个表格中,因此您需要在它们之间添加一些空间,例如使用以下内容:
range.InsertParagraphAfter();
range.Collapse(Word.WdCollapseDirection.wdCollapseEnd); ' need to collapse again to avoid overwriting

我认为它可能会奏效。

关于vb.net - 通过 vb.net 将表格插入到 word 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29841324/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com