doplnění téma Skript na otevírání souboru .xlsm Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

Jsimi
Level 1.5
Level 1.5
Příspěvky: 119
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

doplnění téma Skript na otevírání souboru .xlsm  Vyřešeno

Příspěvekod Jsimi » 01 bře 2013 13:08

Ahoj,
jelikož je téma zamčené, založil jsem nové. Skript funguje jak má, ale jen pokud hledá cestu, ve které zložky nemají v názvu mezeru. Pokud je v názvu mezera tak ukáže, že bude hledat správný soubor, ale pak vyhodí hlášku že ho nemůže nalézt a jestli je cesta správná.

Kód: Vybrat vše

   '****************************************************
'*   Skript otevírá xlsm soubor dle roku a měsíce   *   
'****************************************************
'*           Vytvořeno pro PC-HELP                  *
'*            Etienn@Script v 1.0                   *
'****************************************************

Option Explicit
Dim rok, mesic, fso, WshShell, File, prikaz

rok = Year(Now())
mesic = Month(Now())
Set fso = CreateObject ("Scripting.FileSystemObject")
Set WshShell = CreateObject ("WScript.Shell")
File = "C:\pokus a\" & rok & "\PR_" & mesic & ".xlsm"
' WScript.Echo File
If (fso.FileExists(File)) Then
prikaz = "excel.exe " & File
WshShell.Run prikaz
Else
  WScript.Echo("Soubor nenalezen!")
End If

Pokud hledá "C:\pokus\" & rok & "\PR_" & mesic & ".xlsm" tak je vše OK, ale pokud cesta bude takto
"C:\pokus a\" & rok & "\PR_" & mesic & ".xlsm" tak vyhodí chybu.
Kde může být problém?

Reklama
Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Azuzula » 01 bře 2013 15:12

Tipnu si, že přímo v té mezeře ;)
Vyvarovala bych se všech mezer v názvu souborů a adresářů, mezery můžete nahradit třeba podtržítkem. Některé programovací jazyky prostě mezery neberou.
Teoreticky by se to mohlo dát obejít když se mezera nahradí znakem chr(32) což je ASCI kód mezery

"C:\pokus" & chr(32) & "a\"
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

Jsimi
Level 1.5
Level 1.5
Příspěvky: 119
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Jsimi » 01 bře 2013 15:38

To nepomůže,
budu citovat hlašku "Soubor C:\pokus.xlsx nelze nalézt"
Pokud je cesta delší, tak se tato hláška objeví pro každou složku která obsahuje mezery. Prostě pokaždé když je tam mezera tak místo té mezery tam vloží .xlsx a hledá soubor který se jmenuje "prvníslovovnázvuzložky.xlsx"

Mirdad69
Level 2
Level 2
Příspěvky: 219
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Mirdad69 » 01 bře 2013 15:58

no ten soubor to podle mě chápe jako dva parametry oddělené mezerou, co to zkusit dát celé do uvozovek?
""C:\pokus a\" & rok & "\PR_" & mesic & ".xlsm"" teď si nejsem jist, zda to tak stačí a nemusí se tam dát
"""C:\pokus a\" & rok & "\PR_" & mesic & ".xlsm"""

Jsimi
Level 1.5
Level 1.5
Příspěvky: 119
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Jsimi » 01 bře 2013 16:08

V prvním případě vyhodí chybu hned, ve druhém napíše, že bude hledat ve správném umístění, ale pak napíše soubor nenalezen.

Uziv00
Pohlaví: Nespecifikováno

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Uziv00 » 01 bře 2013 17:04

Chceš-li mezery, není to až tak problém, ale kód ztratí přehlednost a navíc si budeš muset tvořit spouštění bez kontroly. (Proměnná File bude sloužit jen pro kontrolu souboru, ale nelze ji použít pro spuštění, tedy vlastně cestu budeš muset zadávat dvakrát.) Změň řádek začínající WshShell.Run takto:

Kód: Vybrat vše

WshShell.Run "excel.exe" & " " & """C:\pokus a\" & rok & "\pokus_" & mesic & ".xlsm"""

Upozorňuji, že pokud mezeru z cesty zase odstraníš, bude to vyhazovat chyby.

Jsimi
Level 1.5
Level 1.5
Příspěvky: 119
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Jsimi » 01 bře 2013 17:38

Teď už to chodí. Ještě jednou díky.

Uziv00
Pohlaví: Nespecifikováno

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Uziv00 » 01 bře 2013 17:42

Není zač. Označ za vyřešené.

Jsimi
Level 1.5
Level 1.5
Příspěvky: 119
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Jsimi » 01 bře 2013 18:21

Omlouvám se,ale přehlédl jsem dodatek stou mezerou. Jde o to, že cesta k souboru vypadá takto.
"G:\GROUPS\Departments\Provoz Steti\BP-Balici papiry\Veřejné\Hlášení mistři nové\PR\" & rok & "\PR_" & mesic & ".xlsm"
Tudíž někde jsou mezery a někde ne.

Uziv00
Pohlaví: Nespecifikováno

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Uziv00 » 01 bře 2013 18:36

To si děláš srandu ne? Tak na tohle si přijdi sám. A díky, dávám to k dobru jak někdo může pojmenovat adresář :lol:
Něco zkusím, ale nezaručuju výsledek :-)

Uziv00
Pohlaví: Nespecifikováno

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Uziv00 » 01 bře 2013 19:08

Tak nakonec jsem na to přišel :D Člověk se furt učí. Normálně bych s něčím takovým každýho poslal někam, ale pak mi došlo, že nějak to jít musí. A není to až tak složité.
uprav řádek příkaz a řádek WshShell.Run takto:

Kód: Vybrat vše

prikaz = "excel.exe" & " " & Chr(34) & File & Chr(34)
WshShell.Run prikaz

Jak si všimneš, tak proměnná File je opět ve hře, takže stačí změnit pouze ji.

Jsimi
Level 1.5
Level 1.5
Příspěvky: 119
Registrován: červen 12
Pohlaví: Muž
Stav:
Offline

Re: doplnění téma Skript na otevírání souboru .xlsm

Příspěvekod Jsimi » 01 bře 2013 21:58

Dobrá práce. Moc dík


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Doplnění RAM paměti Příloha(y)
    od bugicek7lpCZ » 09 zář 2024 20:23 » v Rady s výběrem hw a sestavením PC
    25
    7370
    od bugicek7lpCZ Zobrazit poslední příspěvek
    07 říj 2024 19:04
  • Ryzen 5 1600 + doplnění Grafická karta?
    od Speedhack » 09 lis 2024 23:56 » v Rady s výběrem hw a sestavením PC
    16
    6548
    od šulda Zobrazit poslední příspěvek
    23 kvě 2025 14:20
  • Blokování stahovaných souborů
    od Riviera kid » 07 čer 2025 16:47 » v Windows 11, 10, 8...
    10
    3605
    od Riviera kid Zobrazit poslední příspěvek
    16 čer 2025 06:56
  • IDM hláška o nemožném stažení souboru Příloha(y)
    od bluenite » 04 črc 2024 11:08 » v Vše ostatní (inet)
    2
    4361
    od bluenite Zobrazit poslední příspěvek
    06 črc 2024 19:40
  • Program na hledání poškozených souborů JPG Příloha(y)
    od Rosta_Kolmix » 09 lis 2024 11:01 » v Design a grafické editory
    2
    4525
    od Minapark Zobrazit poslední příspěvek
    15 lis 2024 11:04

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti