Dialog
Otevřít/Uložit
Dialog pro otevření souboru je možné využít například pro
specifikaci souboru, který si přeje uživatel Vaší aplikace otevřít,
načíst a podobně. Je vhodné před vyvoláním dialogu nastavit některé
jeho parametry, aby byl dialog co nejvíce srozumitelný a usnadňoval práci:
Parametr |
Změny... |
DialogTitle |
Titulek
dialogového okna |
Filter |
Typy
souborů, které se budou zobrazovat |
FilterIndex |
Defaultní
typ souboru ze sady Filter |
Flags |
Uživatelská
nastavení, jako například přepínač pro zobrazení
read-only souborů |
CancelError |
Zda
se vygeneruje chyba, pokud uživatel klikne na tlačítko Storno |
Následující
kód zobrazí dialog Otevřít se skrytým přepínačem pro read-only
soubory. Seznam souborů, které bude dialog zobrazovat bude filtrován
pouze pro dokumenty Word (*.doc) a sešity Excel (*.xls). Dialog Vám neumožní
vybrat soubory, které neexistují:
' Nastavení titulku
okna
CommonDialog1.DialogTitle = "Otevřít soubor ..."
' Nastavení filtru
na dokumenty Word a sešity Excel
CommonDialog1.Filter
= "Dokumenty Word (*.doc)|*.doc|Sešity Excel (*.xls)|*.xls"
' Nastavení
defaultního typu na dokumenty Word
CommonDialog1.FilterIndex
= 1
' Nastavení
vlastností dialogu - soubor musí existovat a skrytí Read-Only
' Více parametrů, které můžete použít pro různé typy dialogů
najdete v nápovědě
CommonDialog1.Flags
= cdlOFNFileMustExist + cdlOFNHideReadOnly
' Nastavení vyvolání
chyby, pokud je stisknuto tlačítko Storno
CommonDialog1.CancelError = True
On Error Resume Next
' Zobrazení
dialogu
CommonDialog1.ShowOpen
If Err Then
' Pokud běží kód tudy, tak bylo stisknuto tlačítko Storno
Msgbox "Dialog byl stornován"
Exit Sub
End If
Msgbox "Zvolený soubor: " & CommonDialog1.FileName
Vlastnost Filter je řetězec,
který má následující formát:
"FileTypeText1
|FileTypeExtension1 | FileTypeText2 | FileTypeExtension2"
Vlastnost
FileName vrací celou cestu k souboru včetně jeho jména a přípony.
Vlastnost FileTitle vrací pouze jméno souboru, a může být využita například
ke změně titulku okna:
Form1.Caption =
"Text ze souboru: " & CommonDialog1.FileTitle
Následující
kód zobrazí dialog Uložit. Filtr bude nastaven na textové soubory (*.txt)
a všechny soubory (*.*). Skryje soubory pouze pro čtení, při pokusu o přepsání
souboru se Vás dotáže na potvrzení operace a umožní uložit soubor
pouze do složky, která již existuje (čili nebude možné vytvořit
novou):
' Nastavení titulku
okna dialogu
CommonDialog1.DialogTitle
= "Uložit soubor ..."
' Nastavení filtru
na typy sobourů
CommonDialog1.Filter
= "Textové soubory (*.txt)|*."|Všechny soubory (*.*)|*.*"
' Nastavení
defaultního typu na textové soubory
CommonDialog1.FilterIndex
= 1
' Nastavení
vlastností dialogu
CommonDialog1.Flags = cdlOFNHideReadOnly + cdlOFNOverwritePrompt _
+ cdlOFNPathMustExist
' Při stisku
Storno se bude generovat chyba
CommonDialog1.CancelError
= True
On Error Resume Next
' Zobrazení
dialogu
CommonDialog1.ShowSave
If Err Then
Msgbox "Dialog byl stornován"
Exit Sub
End If
Msgbox "Uložili jste soubor jako: " & CommonDialog1.FileName
|