Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
356to360
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
356to360
356to360
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dialog speichern unter aufrufen, mit Pfadsuche

Dialog speichern unter aufrufen, mit Pfadsuche
01.01.2004 22:30:22
Jens
Hallo zusammen.

Erst mal frohes neues Jahr.

Ich hab ein Problem. Und zwar hab ich eine Mappe mit Schaltflächen, über die ich unter anderem den Explorer mit einem bestimmten Verzeichnis öffne.
Da die Mappe von verschiedenen Personen mit verschiedenen Zugriffsberechtigungen benutzt wird, ist beim Betätigen der Schaltfläche eine Pfadsuche hinterlegt. Diese prüft über ein Hilfsblatt (help.expl) die Pfade durch, die ich dort aufgeführt habe. Des Weiteren ist in jedem Ordner den ich darüber öffne eine Start Datei (*.ini Datei) abgelegt. Diese Datei wird über die vorgegebenen Pfade gesucht. Ist sie in einem der Pfade gefunden worden, öffnet der Explorer.

Soweit, Sogut.

Jetzt möchte ich mit der gleichen Methode, also mit suchen über vorgegebene Pfade, Start Datei, den Dialog „speichern unter“ aufrufen. Also diesen Dialog öffnen mit einem vorher festgelegten Ordner. Normal geht das ja über Application.Dialogs(xlDialogSaveAs).Show““. Hinter Show könnte ich jetzt noch schreiben „D:\Test\“ damit der Ordner Test direkt geöffnet wird. Ich brauch aber die Suchfunktion über die Hilfspfade.

Kann mir eventuell jemand bei einer funktionstüchtigen Vervollständigung des Makros helfen. Ich schaff es zwar mit dem Öffnen des Dialoges und einer vorherigen Anzeige, dass die Datei da und dort gefunden wurde, bekomme aber das Dialogfeld immer mit dem Ordner geöffnet, aus dem ich die Mappe heraus geöffnet habe.
Ich habe zur Veranschaulichung eine Beispieldatei mit angehängt. Es müssen auf G: nur zwei Verzeichnisse angelegt und in eines der Beiden die Datei Start.ini abgelegt werden. Wechselt man die ini Datei in den Ordnern hin und her sieht man die Funktionsweise.

Danke für jede Hilfe

Gruß Jens

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dialog speichern unter aufrufen, mit Pfadsuche
01.01.2004 23:24:05
Ramses
Hallo

Du musst vorher das Laufwerk und das Verzeichnis manuell wechseln, dann geht es

'Pfad öffnen
gDir = VorlPfad
ChDrive Left(gDir,2)
ChDir gDir
'Dialog öffnen
stAppName = Application.Dialogs(xlDialogSaveAs).Show

Gruss Rainer
AW: Dialog speichern unter aufrufen, mit Pfadsuche
01.01.2004 23:44:23
Jens
Hallo Rainer

Funktioniert auch nicht. Sobald ich die Schaltfläche zum Dialog "speichern unter" öffnen betätige, wird mir immer noch der Ordner geöffnet, aus dem ich die Mappe heraus gestartet habe. Vielleicht kannst Du mir an Hand meines Codes bzw. Beispieldatei aufzeigen wie Du das meinst.

Gruß Jens
Anzeige
AW: Dialog speichern unter aufrufen, mit Pfadsuche
01.01.2004 23:47:47
Jens
Hallo Rainer

Funktioniert auch nicht. Sobald ich die Schaltfläche zum Dialog "speichern unter" öffnen betätige, wird mir immer noch der Ordner geöffnet, aus dem ich die Mappe heraus gestartet habe. Vielleicht kannst Du mir an Hand meines Codes bzw. Beispieldatei aufzeigen wie Du das meinst. Ich habe ja eine MsgBox Info vorgeschaltet. Bis da hin bekomme ich auch angezeigt unter welchem Pfad bzw. in welchem Ordner die ini Datei gefunden wurden. Nur geöffnet wird der Ordner nicht. Ich benutze übrigens mehrere Pfadvorgaben nicht nur die 2 vom Test.

Gruß Jens
AW: Dialog speichern unter aufrufen, mit Pfadsuche
01.01.2004 23:55:58
Ramses
Hallo

das ist doch im Prinzip egal wieviele Pfadangaben du verwendest.
Wenn "gDir" den Inhalt "D:\Test\" hat wechselt EXCEL mit "ChDrive Left(gDir,2)" auf das Laufwerk D: und mit "ChDir gDir" in das entsprechende Verzeichnis.

Ich sehe keinen Grund warum das bei dir nicht funktionieren sollte.
Der Beispielcode von oben ist in deinem zweiten Makro am Ende untergebracht. sollte also einfach zu identifizieren sein.


Sub test()
'Pfad öffnen
VorlPfad = "E:\Test"
gDir = VorlPfad
ChDrive Left(gDir, 2)
ChDir gDir
'Dialog öffnen
Application.Dialogs(xlDialogSaveAs).Show
End Sub


Dieser Code funktioniert bei mir einwandfrei und ich Habe EXCEL gerade erst gestartet und mein Default-Verzeichnis ist nicht E:\Test

Gruss Rainer
Anzeige
AW: Dialog speichern unter aufrufen, mit Pfadsuche
02.01.2004 00:10:30
Jens
Hallo Rainer

Das versteh ich schon. (Hoffe ich zumindest)
Aber den gleichen Effekt habe ich doch mit dem Code:


Sub test()
Application.Dialogs(xlDialogSaveAs).Show "E:\Test\"
End Sub


Darin kann ich ja auch festlegen mit welchen Laufwerk oder Ordner der Dialog öffnen soll.
Das hat aber doch nichts mit meiner Pfadabfrage zu tun. Von den Pfaden die ich auf dem Hilfsblatt vorgebe, funktioniert definitiv immer nur einer. Hängt mit dem Firmennetzwerk und den unterschiedlichen Pfadnamen zusammen. Im ersten Teil meines Makros wird doch erst mal geprüft welcher Pfad überhaupt existiert. Und erst dann kann der Dialog mit dem Laufwerk und dem entsprechenden Ordner öffnen. Wie gesagt, es hängt alles von der Abfrage vorher ab.

Gruss Jens
Anzeige
AW: Dialog speichern unter aufrufen, mit Pfadsuche
02.01.2004 00:23:10
Ramses
Hallo

Sorry, es liegt sich an der späten Stunde:
Aber du prüfst doch schon ob die Datei existiert oder nicht

VorlVerzeichnis = VorlPfad & "Start.ini"
'überprüfen, ob die Datei existiert
Set FSo = CreateObject("Scripting.FileSystemObject")
If FSo.FileExists(VorlVerzeichnis) Then

Was willst du dann noch prüfen ?

Gruss Rainer
AW: Dialog speichern unter aufrufen, mit Pfadsuche
02.01.2004 00:36:09
Jens
Hallo Rainer
Kein Problem, ich bin auch schon müde und geh auch gleich ins Bett.
Also Rainer, mir gehts auch nicht um das Prüfen welcher Pfad jetzt zugänglich ist bzw. unter welchem Pfad von den vorgegebenen Pfaden die Start.ini gefunden wurde, sondern das mir dann der Dialog "speichern unter" genau mit dem Pfad geöffnet wird, unter welchem vorher bei der Prüfung erfolgreich die Start.ini Datei gefunden wurde. Wie gesagt die Mappe (Oberfläche) steht mehreren Abteilungen im Firmennetzwerk zur Verfügung. Und jeweils nur ein Pfad von den 4 von mir vorgegebenen existiert nur. Das Rausfinden ist also gelöst. Nur das Öffnen mit dem Dialog bekomm ich nicht hin. Probier mal meine Testdatei aus damit Du vielleicht besser nachvollziehen kannst wie das System funktioniert. Habe am Anfang ja beschrieben was man tun muß. Die Schaltfläche um den Explorer zu öffnen funktioniert ja tatelos.

Gruß Jens
Anzeige
AW: Dialog speichern unter aufrufen, mit Pfadsuche
02.01.2004 00:51:03
Jens
Rainer

Falls sich Deine Antwort mit meiner Nachricht überschneiden sollte. Ich muß erst mal in die Kiste. Würde mich freuen wenn Du für mich ne Lösung finden würdest. Ich schau Morgen auf jeden Fall wieder rein. Und , Danke bis jetzt.

Gruß Jens
Noch offen...
02.01.2004 09:46:31
Ramses
Guten Morgen Jens

Jetzt weiss ich was du meinst,... :-( allerdings habe ich auch keine Lösung dafür ausser die Datei direkt mit "Workbook.SaveAs XXX" zu speichern.
Der Dialog lässt sich zwar beim öffnen einstelln, aber nicht beim Speichern.

Sorry, da habe ich auch keine Idee dazu.

Trotzdem noch ein gutes Neues Jahr

Gruss Rainer
Anzeige
Rainers Lösung funktioniert doch
02.01.2004 11:48:03
Martin Beck
Hallo Jens, Hallo Rainer,

ich verstehe das Problem nicht, Rainers Lösung funktioniert doch einwandfrei, wenn man das zweite Makro wie folgt abändert:


Sub Dialog_speichern_unter_öffnen()
'prüfen, welcher Pfad existiert:
Dim VorlPfad As String, VorlVerzeichnis As String
Dim FSo, sWb
Dim i As Byte
'alle angegebenen Pfade durchlaufen
For i = 1 To 200
'zu überprüfendes Hilfsblatt festlegen
VorlPfad = Worksheets("help.expl").Cells(i, 1)
'zu öffnende Datei festlegen
VorlVerzeichnis = VorlPfad & "Start.ini"
'überprüfen, ob die Datei existiert
Set FSo = CreateObject("Scripting.FileSystemObject")
If FSo.FileExists(VorlVerzeichnis) Then
'Meldung ausgeben
'If Bowert = True Then
MsgBox _
"Ordner wurde unter folgendem Pfad gefunden und wird jetzt geöffnet. Pfad lautet:   " & VorlPfad
'prüfen ob "Verzeichnis" schon offen, wenn nicht öffnen:
On Error Resume Next
'Ab hier weiß ich leider nicht mehr weiter wie ich den Code vervollständigen soll
'damit mir der Dialog "speichern unter" mit dem gewünschten Verzeichnis öffnet
Dim stAppName As String
Dim gDir As String
'Pfad öffnen
gDir = VorlPfad
'Dialog öffnen
ChDrive Left(gDir, 2)
ChDir gDir
Application.Dialogs(xlDialogSaveAs).Show
'stAppName = Application.Dialogs(xlDialogSaveAs).Show & gDir
Exit Sub
End If
Next
End Sub


Gruß
Martin Beck
Anzeige
AW: Rainers Lösung funktioniert doch
02.01.2004 21:51:05
Jens
Hallo Martin

Dir auch ein frohes neues Jahr.

Aber ich habe ein Problem mit dem Code, denn er funktioniert eben leider doch nicht so wie ich mir das vorstelle.

Ich weiß es nicht. Vielleicht ist es auch Rechnerabhängig oder Systemabhängig.
Ich habe den Code jetzt wieder so übernommen wie Du Ihn, Martin, hier eingestellt hast.

Die Erkennung, wo die Start Datei liegt, funktioniert wunderbar. Aber eben dieses verdammte Dialogfenster wird mir nur in mit dem Ordner geöffnet, aus dem ich die Mappe.xls gestartet habe. Und das möchte ich ja nicht. Es soll ja der Ordner geöffnet werden, wo die Start.ini Datei gefunden wurde. Und das macht es eben nicht.

Gruß Jens
Anzeige
AW: Rainers Lösung funktioniert doch
02.01.2004 22:51:17
Martin Beck
Hallo Jens,

da es bei mir ging, liegt der Fehler vermutlich hier:

ChDrive Left(gDir, 2)
ChDir gDir

Versuch mal 2 Dinge und berichte über das Ergebnis:

1. Nimm die Zeile

On Error Resume Next

heraus. Gibt es eine Fehlermeldung? Wenn ja, in welcher Zeile und welche Fehlermeldung?

2. Füge mal nach der Zeile

VorlPfad = Worksheets("help.expl").Cells(i, 1)

die Zeile

MsgBox VorlPfad

ein. Was wird als Inhalt von VorlPfad ausgegeben?

Gruß
Martin Beck
AW: Rainers Lösung funktioniert doch
02.01.2004 23:20:18
Jens
Hallo Martin

Also wenn ich die Zeile "On Error Resume Next" deaktiviere, bekomme ich als Fehlermeldung
die Zeile 'Dialog öffnen
ChDrive Left(gDir, 2)
ChDir gDir

und zwar nur die Zeile "ChDir gDir" als Fehler angezeigt.

Wenn ich die MsgBox direkt nach der Zeile "VorlPfad = Worksheets("help.expl").Cells(i, 1)" einfüge, werden mir MsgBox Anzeigen angezeigt über die ganzen vorgebenen Pfade hinweg. Die Anzeige bezieht sich dann aber nicht mehr darauf wo die Start Datei gefunden wurde, sonder mir wird einfach wiedergegeben, was auf meinem Hilfsblatt steht.

Gruß Jens
Anzeige
AW: Rainers Lösung funktioniert doch
03.01.2004 13:36:17
Jens
Hallo Martin

ich bin wieder online.

Gruß Jens
Kann ich nicht nachvollziehen
03.01.2004 16:06:08
Martin Beck
Hallo Jens,

ich habe jetzt noch einmal alles getestet, und zwar mit der von Dir hochgeladenen Datei. Eine Datei Start.ini kreiert, in ein Verzeichnis auf Laufwerk C:\ gespeichert, eine Datei aus einem anderen Ordner als dem Startordner geöffnet und dann das Makro gestartet. Funktioniert alles einwandfrei.

Welche Fehlermeldung (Nr. und Text) kommt denn bei Dir in der Zeile

ChDir gDir

???

Wie ist der Inhalt der Variablen gDir (ich vermute leer)?

Lade im Zweifel noch einmal eine Datei mit dem geänderten Code hoch, die bei Dir nicht funktioniert.

Gruß
Martin Beck
Anzeige
AW: Kann ich nicht nachvollziehen
03.01.2004 17:47:59
Jens
Hallo Martin

Also wenn ich die Zeile "On Error Resume Next" deaktiviere, bekomme ich als Fehlermeldung: Laufzeitfehler "76": Der Text lautet dann: Pfad nicht gefunden.

Wenn ich dann auf Debuggen gehe, bekomm ich die Zeile "ChDir gDir" gelb hinterlegt. Komischer Weise. Während des Debugg Vorgangs bekomme ich ja die Eigenschaften von gDir angezeigt. gDir ist nicht leer sondern zeigt mit immer den richtigen Pfad an.

Ich schick Dir noch mal eine Testdatei mit dem geänderten Pfad und eine Kopie von der original Datei. Du müsstest Dir die Org.Datei nur anpassen. Ich habe sie bewußt nicht verändern wollen, da sich vielleicht noch ein anderer Fehler verbirgt.

Schau mal ob Du was findest. Vielleicht muss ich irgend etwas an Excel umstellen, ich weiß es nicht.

Gruß Jens
AW: Kann ich nicht nachvollziehen
03.01.2004 17:48:33
Jens
Hallo Martin

Hiernoch die Test Datei
AW: Kann ich nicht nachvollziehen
03.01.2004 17:50:25
Jens
Hallo Martin

Hiernoch die Test Datei

https://www.herber.de/bbs/user/2705.xls

Die Datei https://www.herber.de/bbs/user/2706.xls wurde aus Datenschutzgründen gelöscht

AW: Kann ich nicht nachvollziehen
03.01.2004 20:59:09
Chris
Hallo Jens,

ich habe auch dieses Problem mit dem filesaveas-Dialog.

Werde es wohl wie folgt lösen:
Musterdatei in gewünschten Verzeichnis öffnen (evtl. gibt es für den fileopen-dialog ein "verstecktes" Öffnen, so daß dieser nicht angezeigt wird). Habe dies noch nicht geprüft.
Danach sollte das filesaveas-Verzeichnis ebenfalls umgestellt sein. Sehr umständlich, insbesondere im Netzwerk mit vielen Dateizugriffen.

Vielleicht hilft Dir das trotzdem weiter.

Grüsse Christian
AW: Kann ich nicht nachvollziehen
03.01.2004 21:46:22
Jens
Hallo Christian

Gott sei Dank hab ich mal nicht allein dieses Problem. Ich zweifle schon an mir selbst.
Der Gedankengang von Dir klingt logisch. Wäre prima wenn Du eventuell einen Weg dafür finden würdest, denn das übersteigt alles ein bißchen mein Wissen über VBA.

Ich würde mich freuen wenn Du mir Deine Lösung verstellen würdest. Aber vielleicht kommt Martin auch auf nen Dreh wie wir das hinbekommen. Ich war wirklich schon am verzweifeln warum es bei ihm funktioniert und bei mir nicht.

Also, lass was hören.

Gruß Jens
Fehler gefunden - hoffentlich
05.01.2004 12:08:10
Martin Beck
Hallo Jens,

in der Datei 2706.xls heißt es

gDir = VorlVerzeichnis

Richtig wäre

gDir = VorlPfad

In VorlVerzeichnis hängt ja noch der Dateiname an dem Pfad und deswegen gibt es eine Fehlermeldung in der o.g. Codezeile.

Gruß
Martin Beck
AW: Fehler gefunden - hoffentlich
05.01.2004 15:10:27
Jens
Hallo Martin

Danke noch mal für Deine Rückmeldung. Aber ich hatte wohl beim ausprobieren vergessen das wieder umzuschreiben. Aber nichts desto trotz kann ich da reinschreiben was ich will, on nun VorlVerzeichnis, VorlDatei, VorlPfad oder direkt die Start.ini. In keinem Fall öffnet mir der Dialog Speichern unter mit dem entsprechenden Verzeichnis. Ich bekomme trotzdem immer nur das Verzeichnis geöffnet aus dem ich die Datei gestarte habe. Schade, ich hätte das ganz gern noch hin bekommen.

Falls Dir doch noch was einfallen sollte , melde Dich ruhig. Ich schau auch noch mal ins Archiv falls dieser Beitrag nicht mehr aufgeführt wird.

Und trotzdem noch mal Danke für Deine Mühe.

Gruß Jens

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige