ERLANDSEN DATA CONSULTING Excel & VBA Tips   Information in English / Informasjon på engelsk

Disse websidene oppdateres ikke lengre og er kun tilgjengelig for historikken sin skyld.

Klikk her for å gå til den oppdaterte informasjonen.

Velge filnavn

Makroen nedenfor viser hvordan du kan la brukeren velge en enkelt fil som skal åpnes:

Sub OpenOneFile()
Dim fn As Variant
    fn = Application.GetOpenFilename("Excel-filer,*.xls", 1, _
        "Velg en fil som skal åpnes", , False)
    If TypeName(fn) = "Boolean" Then Exit Sub ' brukeren valgte ikke en fil
    Debug.Print "Selected file: " & fn
    Workbooks.Open fn
End Sub

Makroen nedenfor viser hvordan du kan la brukeren velge flere filnavn samtidig:

Sub OpenMultipleFiles()
Dim fn As Variant, f As Integer
    fn = Application.GetOpenFilename("Excel-filer,*.xls", 1, _
        "Velg en eller flere filer som skal åpnes", , True)
    If TypeName(fn) = "Boolean" Then Exit Sub
    For f = 1 To UBound(fn)
        Debug.Print "Selected file #" & f & ": " & fn(f)
        Workbooks.Open fn(f)
        MsgBox ActiveWorkbook.Name, , "Active Workbook Name:"
        ActiveWorkbook.Close False ' lukker den aktive arbeidsboken uten å lagre endringer
    Next f
End Sub

Makroen nedenfor viser hvordan du kan la brukeren velge et filnavn for å lagre arbeidsboken:

Sub SaveOneFile()
Dim fn As Variant
    fn = Application.GetSaveAsFilename("MittFilnavn.xls", _
        "Excel filer,*.xls", 1, "Velg en mappe og et filnavn")
    If TypeName(fn) = "Boolean" Then Exit Sub
    ActiveWorkbook.SaveAs fn
End Sub

Makroen nedenfor viser hvordan du kan la brukeren åpne en valgfri fil ved å presentere den innebygde Åpne-dialogen:

Sub ShowFileOpenDialog()
Dim i As Integer
    i = Workbooks.Count ' antall åpne arbeidsbøker
    Application.Dialogs(xlDialogOpen).Show ' vis dialogen for å åpne arbeidsbøker
    Select Case Workbooks.Count - i
        Case Is <= 0 ' ingen nye arbeidsbøker ble åpnet
            MsgBox "Du har ikke åpnet noen nye arbeidsbøker!"
            Exit Sub
        Case 1 ' legg til din egen kildekode her for å gjøre noe med den nyåpnede arbeidsboken
            MsgBox "Du åpnet denne arbeidsboken: " & ActiveWorkbook.Name
        Case Else ' legg til din egen kildekode her for å gjøre noe med de nyåpnede arbeidsbøkene
            MsgBox "Du har åpnet " & Workbooks.Count - i & " arbeidsbøker."
    End Select
End Sub

Makroen nedenfor viser hvordan du kan la brukeren lagre en arbeidsbok på valgfritt sted ved å presentere den innebygde Lagre som-dialogen:

Sub ShowFileSaveAsDialog()
    Workbooks.Add ' lag en ny arbeidsbok
    With Worksheets(1).Range("A1") '  legg til informasjon i den nye arbeidsboken
        .Formula = "Loggbok for " & Format(Date, "yyyy-mm-dd") & ":"
        .Font.Size = 14
        .Font.Bold = True
    End With
    Application.Dialogs(xlDialogSaveAs).Show ' vis dialogen for å lagre arbeidsbøker
    If Len(ActiveWorkbook.Path) = 0 Then ' arbeidsboken ble ikke lagret
        MsgBox "Du må eventuelt lagre arbeidsboken senere..."
    Else
        MsgBox "Arbeidsboken er lagret som " & ActiveWorkbook.FullName
    End If
End Sub

 

Dokumentet er sist oppdatert 2004-05-05 09:52:51      Utskriftsvennlig versjon

 

Erlandsen Data Consulting     http://www.erlandsendata.no/   
Excel & VBA Tips   Copyright ©1999-2017    Ole P. Erlandsen   All rights reserved
E-post kontaktadresse