Dingo, ja som hneď v prvom príspevku napísal kostru. Základ je skutočne v príkaze Shell. Bohužiaľ, pod Explorerom som rozumel IE nie Windows Explorer. K tomuto: asi by mělo být:
Shell strS & " " & Site, vbNormalFocus Ja napr. v ceste k .exe súboru prázdne znaky nemám, API call ich vo Win7 ale ponecháva na konci, proste strS ponecháva v dĺžke danej konštantou Adresare (100 znakov). Na XP to nerobilo, robí mi to na Win7, tak som potreboval ten reťazec prečistiť, bohužiaľ Trim nezafungoval, tak som použil Brutal Force cez Substitute. To samozrejme nefunguje v prípade, kedy v ceste k *.exe (v reťazci), sú prázdne znaky. Takže je potrebné to upraviť inak, čo samozrejme ide, napr. kombináciou Left a Instr. Úplné triviality ale riešiť nehodlám, to sa na mňa nikto hnevať nemôže, že si vyberám, čo a do akej miery doťahujem do konca, konieckoncov, radíme tu zadarmo
edit: kupodivu, teraz to funguje i takto:Sub test(Site As String)
Dim strS As String
Dim lngL As Long
Dim Prehliadac As String
'Prehliadac = "chrome.exe" 'pre chrome
Prehliadac = "TOTALCMD.EXE" 'pre Total Commander, Altab Salamander nemam, ale bude to analogicke
strS = String(Adresare, 0)
lngL = SearchTreeForFile("C:\", Prehliadac, strS)
If lngL <> 0 Then
Shell strS & " " & Site, vbNormalFocus
Else
MsgBox "Prehliadac nebol najdeny!", vbCritical
Exit Sub
End If
End Sub Fakt netuším, v čom bol predtým problém, že to tam nechávalo 100 znakov v tej ceste...
edit2: Aha, tak tých 100 znakov to ponecháva v prípade, že použijem ako prehliadač napr. chrome.exe, no to je fakt divné ale...
Záver: v prípade Total Commander príslušný riadok kódu má byť:
Shell strS & " " & Site, vbNormalFocus
,
v prípade chrome ale:
Shell Left(strS, InStr(strS, ".exe") + 3) & " " & Site, vbNormalFocuscitovat
Shell strS & " " & Site, vbNormalFocus Ja napr. v ceste k .exe súboru prázdne znaky nemám, API call ich vo Win7 ale ponecháva na konci, proste strS ponecháva v dĺžke danej konštantou Adresare (100 znakov). Na XP to nerobilo, robí mi to na Win7, tak som potreboval ten reťazec prečistiť, bohužiaľ Trim nezafungoval, tak som použil Brutal Force cez Substitute. To samozrejme nefunguje v prípade, kedy v ceste k *.exe (v reťazci), sú prázdne znaky. Takže je potrebné to upraviť inak, čo samozrejme ide, napr. kombináciou Left a Instr. Úplné triviality ale riešiť nehodlám, to sa na mňa nikto hnevať nemôže, že si vyberám, čo a do akej miery doťahujem do konca, konieckoncov, radíme tu zadarmo
edit: kupodivu, teraz to funguje i takto:Sub test(Site As String)
Dim strS As String
Dim lngL As Long
Dim Prehliadac As String
'Prehliadac = "chrome.exe" 'pre chrome
Prehliadac = "TOTALCMD.EXE" 'pre Total Commander, Altab Salamander nemam, ale bude to analogicke
strS = String(Adresare, 0)
lngL = SearchTreeForFile("C:\", Prehliadac, strS)
If lngL <> 0 Then
Shell strS & " " & Site, vbNormalFocus
Else
MsgBox "Prehliadac nebol najdeny!", vbCritical
Exit Sub
End If
End Sub Fakt netuším, v čom bol predtým problém, že to tam nechávalo 100 znakov v tej ceste...
edit2: Aha, tak tých 100 znakov to ponecháva v prípade, že použijem ako prehliadač napr. chrome.exe, no to je fakt divné ale...
Záver: v prípade Total Commander príslušný riadok kódu má byť:
Shell strS & " " & Site, vbNormalFocus
,
v prípade chrome ale:
Shell Left(strS, InStr(strS, ".exe") + 3) & " " & Site, vbNormalFocuscitovat