我试图在特定的单元格中插入一个形状,例如(5,5)。我能够将形状变为excel,但无法弄清楚如何将其放入(5,5)。经过研究,我知道形状位于工作表中的单元格顶部。我还了解到.Range
在这里可能会有所帮助。
我只是不确定如何将这些拼图拼凑起来以使我的形状变为(5,5)。
xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeIsoscelesTriangle, 17, 0, 15, 13)
另外,我是vb.net的初学者,所以如果你能把所有东西都愚蠢我真的很感激!
编辑:
尝试了这段代码..但它将数字7
放在(5,5)而不是形状。
Dim aNew As MsoAutoShapeType = MsoAutoShapeType.msoShapeIsoscelesTriangle
xlWorkSheet.Cells(5, 5) = anew
也尝试过:
xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeIsoscelesTriangle, xlWorkSheet.Range(xlWorkSheet.Cells(5, 5)).Left, xlWorkSheet.Range(xlWorkSheet.Cells(5, 5)).Top, 15, 13)
但收到错误
An unhandled exception of type 'System.Runtime.InteropServices.COMException' occurred
编辑:有效的代码......
xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, (xlWorkSheet.Cells(3, 5)).Left, (xlWorkSheet.Cells(3, 5)).Top, 25, 14)
答案 0 :(得分:3)
这些内容xlWorkSheet.get_range(xlWorkSheet.cells(5.5)).top
或cells(5.5).top
未处理的类型' System.Runtime.InteropServices.COMException'发生
调试,使用xlWorkSheet.Range(xlWorkSheet.Cells(5, 5)).Top
分解,所以,xlWorkSheet
好,xlWorkSheet.Cells(5, 5)
好,xlWorkSheet.Range(xlWorkSheet.Cells(5, 5))
好,错误在哪里,分解大的陈述,实际上从他们的组成部分开始,然后看看他们的回报和链接在一起,就像你在这里完成xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeIsoscelesTriangle, xlWorkSheet.Range(xlWorkSheet.Cells(5, 5)).Left, xlWorkSheet.Range(xlWorkSheet.Cells(5, 5)).Top, 15, 13)
我们看不到你的代码/屏幕
答案 1 :(得分:2)
使用VBA我可以在B2中打印,你可以使用高度和宽度来改变按钮的高度和宽度:
Dim button As Shape
Set button = ActiveSheet.Shapes("Button 1")
button.Top = Range("B2").Top
button.Left = Range("B2").left
button.Height = 50
button.Width = 100
或在您的示例中:
xlWorkSheet.Shapes.AddShape(MsoAutoShapeType.msoShapeIsoscelesTriangle, Range("B2").left, Range("B2").Top, 15, 13)