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 og mappenavn i Word

Word har ikke metoden GetOpenFileName som kan benyttes til å la en bruker velge et filnavn eller et mappenavn. Man kan i stedet benytte den egendefinerte funksjonen nedenfor:

Function WordApplicationGetOpenFileName(FileFilter As String, _
    ReturnPath As Boolean, ReturnFile As Boolean) As String
' returns the folder and/or filename to a single user selected file
Dim strFileName As String, strPathName As String
    If Not ReturnPath And Not ReturnFile Then Exit Function
       If FileFilter = "" Then FileFilter = "*.*"
    With Application.Dialogs(wdDialogFileOpen)
        .Name = FileFilter
        On Error GoTo MultipleFilesSelected
        If .Display = -1 Then
            strFileName = .Name
        End If
        On Error GoTo 0
    End With
    On Error GoTo 0
    ' remove any "-characters
    If InStr(1, strFileName, " ", vbTextCompare) > 0 Then
        strFileName = Mid$(strFileName, 2, Len(strFileName) - 2)
    End If
    If ReturnPath Then
        strPathName = CurDir & Application.PathSeparator
    Else
        strPathName = ""
    End If
    If Not ReturnFile Then strFileName = ""
    WordApplicationGetOpenFileName = strPathName & strFileName
MultipleFilesSelected:
End Function

Funksjonen brukes slik for å returnere et komplett mappe- og filnavn:
FullFileName = WordApplicationGetOpenFileName("*.doc", True, True)

Funksjonen brukes slik for å returnere bare filnavnet:
FileNameOnly = WordApplicationGetOpenFileName("*.doc", False, True)

Funksjonen brukes slik for å returnere bare mappenavnet:
FolderNameOnly = WordApplicationGetOpenFileName("*.*", True, False)

 

Dokumentet er sist oppdatert 2000-02-04 12:34:02      Utskriftsvennlig versjon

 

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