< návrat zpět
MS Excel
Téma: Pokud není otevřen Test2.xlsm spusť makro
Zaslal/a Dejwing 30.1.2018 9:49
Dobrý den, nevím si rady, jak místo chybné hlášky, že nemůže Test2.xlsm najít, aby bylo spuštěno makro, které se jmenuje aha, toto makro se bude v závislosti upravovat. Cílem zde je, aby mi to reagovalo na chybu, že nelze Test2.xlsm aktivovat spuštěním jiného makra, moc děkuji. :)
Sub RunEveryTwoMinutes()
ActiveWorkbook.Save
Application.Ontime Now + TimeValue("00:02:00"), "RunEveryTwoMinutes"
Application.Windows("Test2.xlsm").Activate
On Error Resume Next
If Err = 0 Then Call aha
end sub
Sub aha()
MsgBox ("Není otevřený důležitý soubor pro nahrání dat")
End Sub
Pavlus(30.1.2018 12:38)#039270 Můžeš využít například příkaz: "On Error GoTo", který dáš před pokus o aktivování souboru Test2.xlsm, a v případě chyby se odkázat na příslušnou část kódu.
P.
citovat
elninoslov(30.1.2018 18:36)#039271 A test chyby musí byť na <>0, nie na =0.
Sub RunEveryTwoMinutes()
ActiveWorkbook.Save
Application.Ontime Now + TimeValue("00:02:00"), "RunEveryTwoMinutes"
On Error Resume Next
Application.Windows("Test2.xlsm").Activate
If Err <> 0 Then Call aha
end sub
Ak chcete iba otestovať či je súbor s daným názvom otvorený, a nie ho pritom aktivovať, tak napr.
Sub RunEveryTwoMinutes()
Dim Test As Boolean
ActiveWorkbook.Save
Application.Ontime Now + TimeValue("00:02:00"), "RunEveryTwoMinutes"
On Error Resume Next
Test = Application.Windows("Test2.xlsm").Visible
If Err <> 0 Then Call aha
end sub
alebo použite Workbooks:
Sub RunEveryTwoMinutes()
ActiveWorkbook.Save
Application.Ontime Now + TimeValue("00:02:00"), "RunEveryTwoMinutes"
On Error Resume Next
If Len(Workbooks("Test2.xlsm").Name) = 0 Then Call aha
end subcitovat