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