我们正在使用 VB.Net 自动化 Excel,并尝试在 Excel 工作表上放置多行文本,并将其设置为不打印。在这些之间我们会有可打印的报告。如果我们添加文本框对象并将打印对象设置设置为 false,则可以做到这一点。(如果您有其他方法,请指导我)

添加文本框的代码是:

ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 145.5, 227.25, 304.5, 21#)

但定位是以点为单位的。我们需要一种方法将其放置在特定的单元格上,并根据单元格调整其大小。当我们只知道将其放在哪个单元格上时,我们如何才能找到将其放在哪里?

有帮助吗?

解决方案

如果您有单元格名称或位置,您可以执行以下操作:

With ActiveSheet
  .Shapes.AddTextbox msoTextOrientationHorizontal, .Cells(3,2).Left, .Cells(3,2).Top, .Cells(3,2).Width, .Cells(3,2).Height
End With

这将在单元格 B3 上添加一个文本框。当 B3 调整大小时,文本框也会调整。

其他提示

当您复制并粘贴文本框时,Excel 会将新文本框放置在当前选定的单元格上。因此,您只需使用 VBA 复制和粘贴命令即可轻松实现此目的。如果您要使用许多非常相似的文本框,这会特别有用,因为您正在有效地创建文本框模板。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top