Anpassa öppna dialogrutan
Från och med version 2002 av Excel har vi fått ytterligare möjligheter att anpassa och styra vissa standarddialogrutor såsom öppna och spara.I detta tips visas hur vi kan anpassa öppna dialogrutan samt hur vi kan välja en mapp på ett enkelt sätt utan att använda oss av varken Windows API eller FSO.
För exempel som alla Excel-version kan hantera se Öppna en eller flera filer.
Option Explicit
Sub Open_Files()
'© 2004 Alla rättigheter XL-Dennis
Dim fdOpen As FileDialog
Dim lnNumber As Long
Set fdOpen = Application.FileDialog(msoFileDialogOpen)
With fdOpen
'Anger omfattningen på filinformationen som ska visas.
.InitialView = msoFileDialogViewDetails
'Bestämmer om användarna ska kunna öppna en eller flera filer.
.AllowMultiSelect = True
'Titel på Öppna-dialogrutan.
.Title = "Öppna XL-Dennis filer"
'Namn på Öppna-knappen.
.ButtonName = "Öppna XL-Dennis"
'Vilken mapp som ska visas när dialogrutan öppnas.
.InitialFileName = "c:\Test\"
'Möjlighet att lägga till egna filändelser.
.Filters.Add "XL-Dennis filer", "*.xlz", 1
'Vilket filter som ska visas som default.
.FilterIndex = 1
'Visa dialogrutan Öppna.
.Show
'Öppnar de valda filerna.
For lnNumber = 1 To .SelectedItems.Count
Application.Workbooks.Open (.SelectedItems(lnNumber))
Next lnNumber
End With
'Frigör objekt från minnet.
Set fdOpen = Nothing
End Sub
Sub Pick_Folder()
'© 2004 Alla rättigheter XL-Dennis
Dim fdFolder As FileDialog
Dim stFolder As String
Set fdFolder = Application.FileDialog(msoFileDialogFolderPicker)
With fdFolder
.AllowMultiSelect = False
.Title = "Välj en mapp"
.InitialFileName = "c:\"
If .Show = -1 Then
stFolder = .SelectedItems(1)
Else
GoTo ExitHere
End If
End With
MsgBox "Den valda mappen är:" & stFolder
ExitHere:
Set fdFolder = Nothing
End Sub