< návrat zpět
MS Excel
Téma: msg.exe
Zaslal/a Jeza.m 17.5.2016 9:53
Dobrý den,
prosím jestli někdo může ve VB vyzkoušet příkaz
MsgBox Dir("C:\Windows\System32\msg.exe")
Jestli message box vrátí msg.exe, nebo jestli bude prázdný.
Z nějakého důvodu daný soubor přes průzkumníka vidím, ale VBA, ani VB ho nevidí. Když zkusím jakýkoliv jiný soubor ve stejné složce, tak message box vrátí název.
S tím souvisí otázka, jestli někoho nenapadne, kde by mohl být háček.
Dělám aplikaci ve VB, kde potřebuji aby se za jistých podmínek sama ukončila a hodila uživateli hlášku, nicméně ta hláška nesmí být z dané aplikace, protože aplikaci potřebuji ukončit.
Myslel jsem že využiju funkce windows a soubor msg.exe, který sám o sobě funguje (přes příkaz spustit, či příkazový řádek), ale když ho VBA, ani VB nevidí, tak je to blbý :-/. Možností je volat externí script s hláškou, ale je to zas soubor navíc :-/.
Tak kdyby někdo poradil jak to vyřešit elegantně bez dalších souborů, tak bych byl rád :-).
Díky
M@
eLCHa(17.5.2016 14:57)#031530 Mám to také prázdné. Možná je třeba volat to jako admin.
2 možnosti:
Sub sub1()
Application.Visible = False
MsgBox "Kuk", , "Kukacka"
ActiveWorkbook.Saved = True
Application.Quit
End Sub
A tahle se mi líbí ;)
Sub sub2()
Call Shell("C:\windows\system32\mshta.exe ""javascript:var sh=new ActiveXObject('WScript.Shell'); sh.Popup('Kuk', 0, 'Kukacka', 64 ); close()""")
ActiveWorkbook.Saved = True
Application.Quit
End SubJe možné nastavit interval, kdy se MsgBox sám zavře ;) - to první číslo
citovat
Jeza.m(17.5.2016 15:53)#031532 Ta druhá je super :-), sice mimo mé chápání, ale funguje jak má :-).
Potřebuju změnou hodnoty v DB ukončit aplikaci na všech pc kde je spuštěná, abych mohl přepsat exe soubor, no a nechtěl jsem to utnout bez hlášky, ale hláška přímo z programu by mi zas nedovolila jeho ukončení, proto jsem hledal externí možnosti hlášky, což první volba byla msg.exe, která bohužel zklamala, ale Vaše možnost č. 2 to zachránila :-).
Díky
M@
citovat