Microsoft Excel VBA在UserForm中自动单击“确定”

时间:2014-06-23 18:36:04

标签: excel vba userform commandbutton

您好我正在尝试修改XmlTools.xla插件。

我进行了设置,以便UserForm已经显示我的用户需要预填的所有内容。我只需要一些方法以编程方式单击“确定”按钮。我尝试在下面显示的代码段中使用发送密钥,但它不起作用。

Public Sub sbShowForm()
Application.DisplayAlerts = False

ActiveSheet.Name = "Sheet555"

ActiveSheet.Cells(Rows.Count, 7).End(xlUp).Select
ActiveCell.Name = "lastCell"

ActiveSheet.Cells(1, 1) = "Is this"

frmCreateXmlList.Show
frmCreateXmlList.btnOK_Click

ActiveSheet.Cells(2, 1) = "called?"

Application.SendKeys ("{Enter}")
Application.SendKeys ("{Return}")

CreateXmlFiles.sbUserFormOKClicked
Call sbUserFormOKClicked

Application.DisplayAlerts = True

frmCreateXmlList.Hide
End Sub 'sbShowForm

我意识到这个请求有点傻,但我收到了用户请求,说填写表单是“太多工作”。我知道SendKeys并不总是可靠的,但我只是想找点工作来实现它。

1 个答案:

答案 0 :(得分:0)

我只想出了这个。我的发送密钥正在工作,但他们正在向活动工作表发送击键,而不是用户表单。我更新了UserForm - >属性 - > ShowModal - >错误

当此属性设置为true时,它将无效。我还决定使用

Call sbUserFormOKClicked

因为它应该比发送密钥更可靠。