在自动化Excel时,如何将文本框对象放在特定单元格上?

时间:2008-09-15 21:02:00

标签: excel automation

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

添加文本框的代码是:

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

但定位是分数。我们需要一种方法将它放在特定的单元格上,然后用单元格对其进行调整。当我们知道将哪个细胞放在上面时,我们怎么能找到它的位置呢?

2 个答案:

答案 0 :(得分:8)

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

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大小时,文本框也是。

答案 1 :(得分:0)

当你复制&粘贴文本框,Excel会将新文本框放在当前选中的任何单元格上。因此,您只需使用VBA副本即可轻松实现此目的。粘贴命令。如果您要使用许多非常相似的文本框,这可能特别有用,因为您实际上是在创建文本框模板。