10.01.2017, 21:28
Hallo Alphazalpha,
Wenn Du sowieso immer F5 verwendest, könntest Du ein Makro auf diese Taste legen:
Gruß
Koter
Wenn Du sowieso immer F5 verwendest, könntest Du ein Makro auf diese Taste legen:
Code:
Public Const OFN_ALLOWMULTISELECT = &H200&
Public Const OFN_EXPLORER = &H80000
Public Const OFN_FILEMUSTEXIST = &H1000&
Public Const OFN_HIDEREADONLY = &H4&
Public Const OFN_PATHMUSTEXIST = &H800&
Public Declare Function GetOpenFileName Lib "comdlg32.dll" Alias _
"GetOpenFileNameA" (pOpenFileName As OPENFILENAME) As Long
Public Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As String
End Type
Private Sub ShowFileOpenDialog(ByRef FileList As Collection, Pfad As String)
Dim OpenFile As OPENFILENAME
Dim lReturn As Long
Dim FileDir As String
Dim FilePos As Long
Dim PrevFilePos As Long
With OpenFile
.lStructSize = Len(OpenFile)
.hwndOwner = 0
.hInstance = 0
.lpstrFilter = "CDR - CorelDRAW (*.cdr)" + Chr(0) + "*.cdr" + _
Chr(0) + "Alle Dateien (*.*)" + Chr(0) + "*.*" + Chr(0) + Chr(0)
.nFilterIndex = 1
.lpstrFile = String(4096, 0)
.nMaxFile = Len(.lpstrFile) - 1
.lpstrFileTitle = .lpstrFile
.nMaxFileTitle = .nMaxFile
.lpstrInitialDir = Pfad
.lpstrTitle = "Datei öffnen"
.flags = OFN_HIDEREADONLY + _
OFN_PATHMUSTEXIST + _
OFN_FILEMUSTEXIST + _
OFN_ALLOWMULTISELECT + _
OFN_EXPLORER
lReturn = GetOpenFileName(OpenFile)
If lReturn <> 0 Then
FilePos = InStr(1, .lpstrFile, Chr(0))
If Mid(.lpstrFile, FilePos + 1, 1) = Chr(0) Then
FileList.Add .lpstrFile
Else
FileDir = Mid(.lpstrFile, 1, FilePos - 1)
Do While True
PrevFilePos = FilePos
FilePos = InStr(PrevFilePos + 1, .lpstrFile, Chr(0))
If FilePos - PrevFilePos > 1 Then
FileList.Add FileDir + "\" + _
Mid(.lpstrFile, PrevFilePos + 1, _
FilePos - PrevFilePos - 1)
Else
Exit Do
End If
Loop
End If
End If
End With
End Sub
Sub Öffnen()
Dim colFileList As New Collection
Dim lngI As Long
Dim Pfad As String
Dim rf As RecentFile
Pfad = GetSetting("X4LetzterPfad", "Test", "Pfad")
If Len(Pfad) = 0 Then
Set rf = Application.RecentFiles(1)
Pfad = rf.Path
End If
ShowFileOpenDialog colFileList, GetSetting("X4LetzterPfad", "Test", "Pfad")
If colFileList.Count > 0 Then
For i = 1 To colFileList.Count
Application.OpenDocument colFileList(i)
Next i
SaveSetting "X4LetzterPfad", "Test", "Pfad", ActiveDocument.FilePath
End If
End Sub
Gruß
Koter