Stránka 1 z 1

Skript na otevírání souboru .xlsm

Napsal: 28 úno 2013 17:01
od Jsimi
Ahoj
Prosím neporadil by někdo se skriptem, který by otevíral sešit excelu dle zadaných parametrů? Parametry by se braly ze systémového data.
např. cesta k souboru vypadá takto
c:\pokus\2013\pokus_1.xlsm
stím, že skript by hledal ve složce 2013,2014 dle aktuálního roku atd. a dále jméno souboru podle aktálního měsíce kde se mění pouze číslice od 1 do 12.
Vím, že skripty dokážou velmi mnoho, ale toto je mimo mou parketu.
Děkuji za jakoukoliv pomoc

Re: Skript na otevírání souboru .xlsm

Napsal: 28 úno 2013 17:24
od Uziv00
Jak chceš brát ty parametry?
Tedy abych upřesnil - jaký soubor se bude otvírat v jakém systémovém datu?
Jak se má skript chovat když tam soubor nebude?

Re: Skript na otevírání souboru .xlsm

Napsal: 28 úno 2013 17:40
od Jsimi
Jde o to, že na každý měsíc je vytvořen soubor, který je uložen v dané složce podle aktálního roku a v názvu je vždy číslo podle měsíce, na který byl ten soubor připraven. Takže např. pokud by dnes datum 5.5.2014 otevíral by se soubor v tomto umístění.
C:\pokus\2014\pokus_5.xlsm. Neměla by nastat sitace že ten soubor tam nebude, nicméně se to stát může a pak se např. objevila hláška, že soubor neexistuje a skript by se ukončil. Snad jsem to vysvětlil dostatečně.

Re: Skript na otevírání souboru .xlsm

Napsal: 28 úno 2013 18:24
od Uziv00
Takže ve vbs by to mohlo vypadat asi takto:

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\" & rok & "\pokus_" & mesic & ".xlsm"
' WScript.Echo File
If (fso.FileExists(File)) Then
prikaz = "excel.exe " & File
WshShell.Run prikaz
Else
  WScript.Echo("Soubor nenalezen!")
End If


Text zkopíruj do textového editoru např. do notepadu ne do wordu! a ulož s příponou .vbs. Po poklepání si z roku a měsíce vytvoří jméno souboru, zkontroluje, zda existuje a v případě, že ano, tak ho spustí.
Pokud budeš upravovat cestu, pak pro zobrazení jména souboru včetně cesty odstraň apostrof u řádku s "WScript.Echo File". Pak skript ukáže název souboru, než ho spustí. Potom ten řádek můžeš zase zakomentovat (vrátit apostrof).

Re: Skript na otevírání souboru .xlsm  Vyřešeno

Napsal: 28 úno 2013 18:45
od Jsimi
Perfektní práce. Funguje jak má. Díky moc a zavírám.