我正在处理一个有两个命令按钮的代码:
1)用户输入
2)执行
单击时,USER INPUT按钮会显示UserForm . 根据UserForm输入,工作表格式进行调整,用户将数据输入到提示的工作表 . “执行”按钮执行计算并填写工作表的其余部分,然后绘制结果图形或打开一个新工作表,然后包含相同的两个按钮 .
我能够创建新工作表,但工作表只包含一个命令按钮 . 我的代码如下:
Dim obj As Object
Dim Code As String
Dim obj2 As Object
Dim code2 As String
With Sec_Delay
Set obj = .OLEObjects.Add(classType:="Forms.CommandButton.1", _
Link:=False, DisplayAsIcon:=False, Left:=279, _
Top:=210.75, Width:=109.5, Height:=24)
obj.Name = "ButtonTest"
obj.Object.Caption = "USER INPUT"
Code = "Sub ButtonTest_Click()" & vbCrLf & _
"UF_input.Show" & vbCrLf & _
"End Sub"
Set obj2 = .OLEObjects.Add(classType:="Forms.CommandButton.2", _
Link:=False, DisplayAsIcon:=False, Left:=277.5, _
Top:=236.25, Width:=111, Height:=24)
obj2.Name = "Execute2Test"
obj2.Object.Caption = "Execute"
code2 = "Sub Execute2Test_Click()" & vbCrLf & _
"Cells(8,1) = 1" & vbCrLf & _
"End Sub"
With .Parent.VBProject.VBComponents(.CodeName).CodeModule
.insertlines .CountOfLines + 1, Code
End With
End With
此代码位于我的sub中,用于创建新工作表 . 新工作表称为“Sec_Delay”,它只有一个命令按钮 . 我从stackoverflow上的其他地方解除了第一个命令按钮的代码,所以我不熟悉最后一部分做的事情:
With .Parent.VBProject.VBComponents(.CodeName).CodeModule
.insertlines .CountOfLines + 1, Code
End With
但我主要了解OLEObject的工作原理 . 我只是不知道如何为新表格制作第二个命令按钮 .
如何创建第二个命令按钮?为什么“Forms.CommandButton.2”没有做任何事情? “.1”究竟是什么意思?是否可以在同一个子中有两个OLEObject?