我单击另一个按钮时创建一个按钮:创建按钮创建如下:
Set t = ActiveSheet.Range(Cells(i +6, 4), Cells(i+6, 5)) '+6 to start at cell 6
Set buttons = ActiveSheet.Buttons.Add(t.Left, t.Top , t.Width, t.Height)
With buttons
.OnAction = ""
.Caption = "Add TestCase to " & sReturn
.Name = "Btn" & i
End With
我希望在“OnAction”中有一个功能。但我只是不工作,我收到“语法错误”。基本上我只想在一个按钮上执行一个函数,该按钮是以编程方式创建的。我也看了几个论坛来解决这个问题但没有任何效果,我认为因为这是libreoffice 编辑:解决方案在Excel中不在Libreoffice中工作
答案 0 :(得分:1)
对于Excel:
使用here中的直接示例:
Sub test()
Dim t As Range
Dim Buttons As Object
Set t = ActiveSheet.Range(Cells(i + 6, 4), Cells(i + 6, 5)) '+6 to start at cell 6
Set Buttons = ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
With Buttons
.OnAction = "'Btn3 ""Hello"", 123'"
.Caption = "Add TestCase to " & sReturn
.Name = "Btn" & i
End With
End Sub
Sub Btn3(strString As String, iInt As Integer)
MsgBox "String = " & strString & vbNewLine & "Integer = " & iInt
End Sub
警告:
无法在Office Libre上进行测试。这可能是不受支持的功能。
答案 1 :(得分:0)
如下
With ActiveSheet.Buttons.Add(t.Left, t.Top, t.Width, t.Height)
.OnAction = "MyMacro" ' change "MyMacro" to your actual macro name
.Caption = "Add TestCase to " & sReturn
.Name = "Btn" & i
End With
我使用以下宏附加对该按钮进行了测试:
Sub MyMacro()
MsgBox "HellO"
End Sub
答案 2 :(得分:0)
我对VBA很新...解决方案在Excel中工作而不是在Libreoffice中。
如此新鲜,你甚至不知道使用什么语言!出于某种原因,这似乎是一种常见的误解。 Microsoft Excel使用VBA。 对于LibreOffice,请写入LibreOffice Basic。
创建按钮的完整示例代码位于https://forum.openoffice.org/en/forum/viewtopic.php?t=27424。
开始学习Basic的好地方是http://www.pitonyak.org/oo.php。