Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
628to632
628to632
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datei auswählen

Datei auswählen
29.06.2005 14:26:24
Fuger
Hallo schönen Nachmittag!
Finde keine Lösung für meine VBA Geschichte.
1. Ich möchte in einem Formular eine Ordner aufrufen mit dem ich ohne ihn zu öffnen weiterarbeiten kann. Das heisst ich möchte ihn in mein Programm bzw. Macro übernehmen und verschiedene Dateien rausholen bzw. reinkopieren.
2. Ich habe einen anderen Ordner aus dem ich Dateien zur Bearbeitung im Excel bereitstellen möchte. Beim öffnen des Programmes sollte im Formular die Dateien des einen Ordners aufgezeigt werden aber nicht mit der Application.Dialogs(xlDialogOpen).Show; es sollen nur diese Dateien dastehen. Wenn ich eine per Mausklick markiere bzw. auswähle möchte ich sie zur Bearbeitung in wein Macro Übenehmen.
Ich weiss nicht ob ich mich richtig ausdrücke oder ob das alles Quatsch ist.
Vieleicht kann mir jemand helfen!
Danke
Gerhard

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei auswählen
30.06.2005 06:02:33
Hajo_Zi
Hallo Gerhard,
zu 1

Option Explicit
'   von Nepumuk
Dim NeuOrdner As String
Private Type InfoT
hwnd As Long
Root As Long
DisplayName As Long
Title As Long
Flags As Long
FName As Long
lParam As Long
Image As Long
End Type
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As InfoT) As Long
Private Declare Function CoTaskMemFree Lib "ole32" (ByVal hMem As Long) As Long
Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpStr1 As String, ByVal lpStr2 As String) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pList As Long, ByVal lpBuffer As String) As Long
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassname As String, ByVal lpWindowName As String) As Long
Public Sub Ordner_suchen()
NeuOrdner = GetAOrdner
End Sub
Private Function GetAOrdner() As String
Dim xl As InfoT, IDList As Long, RVal As Long, FolderName As String
With xl
.hwnd = FindWindow("xlmain", vbNullString)
'.hwnd = FindWindow("", "Auswahl")  ' Userform Auswahl
.Title = lstrcat("Bitte wählen Sie ein Verzeichnis", "")
.Flags = 1
End With
IDList = SHBrowseForFolder(xl)
If IDList <> 0 Then
FolderName = Space(256)
RVal = SHGetPathFromIDList(IDList, FolderName)
CoTaskMemFree (IDList)
FolderName = Trim(FolderName)
FolderName = Left(FolderName, Len(FolderName) - 1)
End If
GetAOrdner = FolderName
End Function

Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige