PDA

Vollständige Version anzeigen : VBA - Datei in einem Dialog auswaehlen, aber Datei nicht öffnen


mhambach
20.06.2001, 15:59
Hallo Leute,

ich habe das Problem, dass ich gerne in einem Dialog eine Datei auswaehlen moechte (Explorer-maessig) und der Dialog soll als Ergebnis dann den Pfad und Dateinamen zurueckgeben, die Datei aber nicht Öffnen.

Weiss da jemand Rat?

Schon mal Dank
Gruss Matthias

Stefan Kulpa
21.06.2001, 05:57
<font face="Verdana" size="2">Hallo,

wenn Du eine Dateiauswahl mit dem Common Dialog Control durchführst,
erhälst Du u.a. den Pfad zur Datei, den Du dann weiterverarbeiten kann.

Siehe auch <a href="http://www.ms-office-forum.net/forum/showthread.php?s=&threadid=44597" target="_blank">hier</a>: <i>Gibt es ein Steuerelemt um nach einer Datei zu browsen ?</i>

Gruß</font>

<font size="1" face="Century Gothic">Moderatorenanmerkung: Überarbeitung, durch den Wechsel der Forensoftware zum 01.01.2003 verursacht: in diesem Beitrag Link(s) korrigiert.
jinx – 09.07.2003</font>

mhambach
21.06.2001, 08:38
Stefan, vielen Dank !!

Ich habe die Datei im Systemverzeichnis und durch ein wenig Suchen habe ich auch Beispiel-Codes gefunden.

Die sind zwar alle fuer Access (ich brauche es primär fuer Excel), aber wenn ich die beiden fehlerverursachenden Code-Zeilen (siehe unten) auskommentiere, dann geht es prima..!

Wo kann ich denn Infos zu "COMDLG32.OCX" ? Fuer was steht denn "hwnd"...

....
If IsMissing(hwnd) Then hwnd = Application.hw . hWndAccessApp
....
With OFN
.hwndOwner = hwnd
....

Nochmals danke
Matthias

Stefan Kulpa
21.06.2001, 11:11
<font face="Verdana" size="2">Hallo,

die Applikation ist eigentlich egal, solange mit diesem ActiveX-Control arbeitet wird.
Der hWnd steht für ein Windows-Handle - wenn dieser Wert nicht zur Verfügung steht,
kann man den Wert des aktuellen Fensters ermitteln; dazu muss folgende Deklaration
in einem Modul hinterlegt werden:</font>

<font face="Courier New" size="2">Public Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long</font>

<font face="Verdana" size="2">und zugewiesen werden:</font>

<font face="Courier New" size="2">With OFN
.hwndOwner = GetActiveWindow()
...</font>

<font face="Verdana" size="2">Ansonsten gibt's hierzu in der MSDN einige interessante Artikel:

<a href="http://msdn.microsoft.com/library/periodic/period00/CommonDialogsPartI.htm" target="_blank">Mastering the Basics of the Windows Open and Save As Dialog Boxes</a></li>
<a href="http://msdn.microsoft.com/library/periodic/period01/ima0201.htm" target="_blank">Incorporate Windows Dialog Box Functionality in Your Applications</a></li>

HTH</font>

mhambach
21.06.2001, 11:53
nochmals danke !