Zdravim,
potreboval by som pomoc:
mám makro na ukladanie súboru XX do zložky Archiv:
ThisWorkbook.SaveCopyAs Filename:=(Application.ThisWorkbook.Path & "\Archiv\XX_" & Format(Date, "dd.mm.yyyy") & ".xls")
Potreboval by som podmienku:
Ak je v zložke rovnaký názov vypíš hlášku : Súbor s rovnakým názovom je už uložený
Ďakujem
VBA If
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: VBA If
Ahoj,
na zjištění existence souboru můžeš použít třeba tuhle funkci:
A do svého makra potom použiješ toto:
na zjištění existence souboru můžeš použít třeba tuhle funkci:
Kód: Vybrat vše
Function File_Exists(ByVal sPathName As String, Optional Directory As Boolean) As Boolean
'funkce na zjištění přítomnosti souboru. Výstup je True/False
'Returns True if the passed sPathName exist
'Otherwise returns False
On Error Resume Next
If sPathName <> "" Then
If IsMissing(Directory) Or Directory = False Then
File_Exists = (Dir$(sPathName) <> "")
Else
File_Exists = (Dir$(sPathName, vbDirectory) <> "")
End If
End If
End Function
A do svého makra potom použiješ toto:
Kód: Vybrat vše
If File_Exists(Application.ThisWorkbook.Path & "\Archiv\XX_" & Format(Date, "dd.mm.yyyy") & ".xls") = True Then
MsgBox "Súbor s rovnakým názovom je už uložený"
End If
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.
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.
Re: VBA If
ďakujem veľmi pekne
-
- Pohlaví:
Re: VBA If
Metoda FileExists ve VBA existuje sama o sobě, není potřeba tvořit nějakou svou proceduru.
-
- Level 4.5
- Příspěvky: 1547
- Registrován: březen 11
- Bydliště: Drsná Vysočina :D
- Pohlaví:
- Stav:
Offline
Re: VBA If
Třeba takto
Kód: Vybrat vše
Sub ExistujeSoubor()
Set fso = CreateObject("Scripting.FileSystemObject")
File = ThisWorkbook.Path & "\Archiv\XX_" & Format(Date, "dd.mm.yyyy") & ".xls"
' existuje soubor?
If (fso.FileExists(File)) Then
MsgBox "Soubor existuje !! ", vbInformation
Set fso = Nothing
Else
MsgBox "Soubor nenalezen !! ", vbCritical
Set fso = Nothing
End If
End Sub
-
- Level 3
- Příspěvky: 452
- Registrován: leden 12
- Bydliště: Země, bohužel...
- Pohlaví:
- Stav:
Offline
- Kontakt:
Re: VBA If
Ta funkce bylo to jediný co jsem před pár lety našla, teď když jsem hledala víc konkrétně, tak opravdu existuje i s FileSystemObject. Jen by mě zajímalo proč je ve většině fór jen ta funkce a ne přímo fso když je o tolik jednodušší?
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.
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.
-
- Pohlaví:
Re: VBA If
FileExists a FolderExists jsou co já vím součástí FileSystemObjects (FSO) od nepaměti. FSO zná i třeba VBScript, potažmo Windows Script Host (WSH). VBA také práci se soubory směřuje na FSO. Přes API by se to dalo řešit asi funkcemi GetFileAttributes nebo PathFileExists.
Re: VBA If
Pokud si soubor budeš ukládat i s časem (hodina-minuta-sekunda), nic takového nebudeš potřebovat. Případně prozkoumej kód v mém souboru Teorie Rubikovy kostky ... ve vláknu: Teorie Rubikovy kostky + exonixů >>> viewtopic.php?f=62&t=42122&start=76
Kdo je online
Uživatelé prohlížející si toto fórum: Seznam[Bot] a 3 hosti