通过VBA在弹出警报窗口中按确定

时间:2013-03-21 13:28:12

标签: excel vba automation

遇到问题,我写了一个宏,每2分钟刷新一次,从网页上传数据,我的宏的最后一步是使用“文本到列”功能,这样它就可以很好地分成几列。

问题出现在这里,每当它执行这个“文本到列”它询问我是否要覆盖列(我做),但我需要手动按OK。

有没有办法让VBA按下警告中的这个OK按钮?

非常感谢!

3 个答案:

答案 0 :(得分:2)

只需在通话前添加Application.DisplayAlerts = False,然后将其重新设置为True

http://msdn.microsoft.com/en-us/library/office/aa175241%28v=office.11%29.aspx


更新:我刚刚运行了测试,默认情况下它没有提示我。你可以发布你正在使用的代码吗?我只是做了:

Public Sub Test()
    Dim r As Range
    Set r = ActiveWorkbook.Sheets(1).Columns("A:A")
    r.TextToColumns Destination:=Range("B1")
End Sub

This link表示DisplayAlerts解决方案适用于其他人。

答案 1 :(得分:0)

您可以在生成对话框的指令之前添加DoCmd.SendKeys

答案 2 :(得分:0)

您应该使用鼠标单击功能 在最大化窗口之前,确定按钮的x,y坐标保持不变 使用windows lib 32