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

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

添加文本框的代码是:

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

但定位在点。 我们需要一种将其放置在特定单元格上的方法,并将其与单元格一起resize。 当我们知道哪个单元格放在哪里时,我们如何才能知道把它放在哪里?

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

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

当您复制并粘贴文本框时,Excel会将新文本框放在当前选中的任何单元格上。 所以,只需使用VBA复制和粘贴命令即可轻松实现。 如果你打算使用很多非常相似的文本框,这是非常有用的,因为你正在有效地创build一个文本框模板。