Nejčastěji odpovídající uživatel
Excel 2007 - hypertextový odkaz na soubor EXE s parametry

Dotaz
-
Pomožte mi prosím někdo s mým problémem, bude to určitě nějaká volovina.
Začnu radši od píky: chtěl jsem prostě v excelu, kde mám seznam jistých PC včetně například informací o MAC adrese a názvu PC v síti i sloupeček, kde si eviduji, jestli lze PC probudit pomocí Wake On LAN. Některé starší modely to opravdu nepodporují a nebo jsem to z nějakého důvodu nerozfachal. Docela jsem si oblíbil WOL aplikaci od Briana Slacka (http://www.depicus.com/wake-on-lan/wake-on-lan-gui.aspx), která obsahuje i verzi pro CMD. Takže by z excelu stačilo spustit onen EXE s několika parametry a hotovo. Samotný EXE (WolCmd.exe) spustím bez problémů, ale když k tomu přidám parametry tak mi excel píše, že nemůže ten soubor ani najít. Určitě to bude chyba syntaxe, ale fakt nevím, jak ji tam napsat. Standardně mi to tam Excel uvozuje uvozovkami, ale ani bez nich ani když je posunu, tak nic.
Zkoušel jsem to jak přes hypertextový odkaz CTRL+K tak i přímo přes funkci HYPERTEXTOVÝ.ODKAZ, ale nejde mi to. Samozřejmě by mi dost pomohlo, aby ta formulace zohledňovala MAC a název či IP adresu přímo z jiných buňěk v Excelu, pak by to bylo dost pružné a nemusel bych editovat ten odkaz při případné změně. Navíc by šel "vzorec" v buňce okopírovat i na další řádky. Ale rád bych přišel na tu příčinu, jak spustit hypertextovým odkazem EXE soubor i s parametry.
Můj pokus jen pro zajímavost vypadal takto:
=HYPERTEXTOVÝ.ODKAZ("\\DC1\Group\IT\Programy\X_Tools\WOL\WolCmd.exe 0025649cac7b DN3699.kvk.local 255.255.255.0 7";"Ano")
Parametry pro WOL jsou: 1-MAC 2-IP/NAME 3-SUBNET 4-PORT.
Předem děkuji za pomoc.
čtvrtek 3. června 2010 12:38
Odpovědi
-
Ahoj,
myslim ze na to jdes ne zcela standardne, spousteni .exe z Excelu - ne ne. Pokud chces volat exe tak ne z Excelu ale pracuj s textovym souborem a jeho parsovanim z davky pomoci for. NATIVNI VBA reseni je pak pouzit volani objektu, neco jako (http://www.depicus.com/wake-on-lan/wake-on-lan-com.aspx):Sub WOL()
Dim WakeOnLan As Object
Set WakeOnLan = CreateObject("WolCom.Wol")
WakeOnLan.TheMacAddress ("A080641104AA")
WakeOnLan.TheIpNumber ("10.43.43.102")
WakeOnLan.TheSubnetMask ("255.255.255.0")
WakeOnLan.ThePortNumber ("8900")
WakeOnLan.WakeMeUp
End SubMP
- Navržen jako odpověď Miroslav PráglModerator čtvrtek 3. června 2010 13:39
- Označen jako odpověď Leoš Verner středa 9. června 2010 13:14
čtvrtek 3. června 2010 13:17Moderátor
Všechny reakce
-
Ahoj,
myslim ze na to jdes ne zcela standardne, spousteni .exe z Excelu - ne ne. Pokud chces volat exe tak ne z Excelu ale pracuj s textovym souborem a jeho parsovanim z davky pomoci for. NATIVNI VBA reseni je pak pouzit volani objektu, neco jako (http://www.depicus.com/wake-on-lan/wake-on-lan-com.aspx):Sub WOL()
Dim WakeOnLan As Object
Set WakeOnLan = CreateObject("WolCom.Wol")
WakeOnLan.TheMacAddress ("A080641104AA")
WakeOnLan.TheIpNumber ("10.43.43.102")
WakeOnLan.TheSubnetMask ("255.255.255.0")
WakeOnLan.ThePortNumber ("8900")
WakeOnLan.WakeMeUp
End SubMP
- Navržen jako odpověď Miroslav PráglModerator čtvrtek 3. června 2010 13:39
- Označen jako odpověď Leoš Verner středa 9. června 2010 13:14
čtvrtek 3. června 2010 13:17Moderátor -
Já to věděl - další vostuda :-) Ten návod jsem tam úplně přehlédl.
S tím hypertextovým odkazem to byla asi opravdu hloupost, nicméně jsem to ale stejně nerozfachal. Nějak nechápu tuto větu: "Please note that both machines must have the com dll registered." To že jako mám to DLL registrovat na vzáleném PC, které chci probudit? Vždyť je vypnuté, stačí pouze zaslat "Magic Packet" na jeho síťovku. Testuju to tady na Dell OptiPlex 760, kterej ani nejde z nějakého důvodu probuďit vůbec. Nastavení BIOS samozřejmě OK a dalších 50 stejných mašin mi tu funguje, jen tohle ne, takže paráda. To už ale nesouvisí s předmětem diskuse a tyto nové stroje stejně probouzím přes Intel AMT.
Nemohl bys mi prosím ještě trošku popsat detailněji tu radu: pracuj s textovym souborem a jeho parsovanim z davky pomoci for ?
Díky
pátek 4. června 2010 9:02 -
Beru zpět ten dotaz ohledně WoL. Už to fachá. Zapomněl jsem editovat řádek s funkcí CreateObject a ten Dell měl v BIOSu zapnutou položku "Low Power Mode", která to ovlivňuje. Když tak jen to parsování, díkypátek 4. června 2010 9:16
-
A na co presne se ptas?
for /f %i in (souborspocitaci.txt) do wolcmd.exe %i %j %k ....
MP
pátek 4. června 2010 9:26Moderátor