如何在excel VBA中使用发送键打开文件之前检查文件是否已经打开?

时间:2019-07-03 02:56:25

标签: excel vba

我正在从网站打开文件。发送sendkeys“%{O}”之后,我需要先打开文件,然后再继续。如果在sendkeys之后添加等待时间或循环,则直到这些循环之后,文件才会打开。请注意,我不知道文件的名称或位置,我只是从给我的路径中打开了它。

我已经尝试过放置Application.Wait,创建一个仅计数并在打开和写入工作表之间使用的子程序。

Application.SendKeys "%{O}" 'opens the workbook from IE
Set wb2 = ActiveWorkbook.Worksheets("Needed_Worksheet")
wb2.Cells(1,1) = "HELLO"

我希望写在新打开的工作簿的第一个单元格上。

1 个答案:

答案 0 :(得分:0)

现在可以使用睡眠模式工作了:

#If VBA7 Then
    Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As LongPtr) 'For 64 Bit Systems
#Else
    Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) 'For 32 Bit Systems
#End If

然后致电:

Sleep 20000

感谢@DavidZemens的建议