Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Netzwerk-Problem





Frage

[b]Grüße an alle, die helfen wollen![/b] Ich habe folgendes Problem: Über "ActiveWorkbook.Path" bekomme ich in VBA (natürlich) auf einem Einzelplatzrechner den Pfad einer geöffneten Datei angezeigt. Ich habe nun in unserem Netzwerk auf einem Client unter der Laufwerksbezeichnung X: eine Verknüpfung zu einer Datei (E:\daten\dateiname.xls) auf dem Server (E: ist das Laufwerk auf dem Server!) im Netzwerk hergestellt. Wie bekomme ich nun den korrekten Pfad einer von einem Client im Netzwerk auf dem Server aufgerufenen Datei zurückgeliefert? Danke für Eure Mühe! Gruß peko

Antwort 1 von coros

Hi Peko,

so ganz verstehe ich nicht, was Du möchtest, denn das was Du da schreibst ist sehr verwirrend. Was möchtest Du denn nun genau. Der korrekte Pfad einer Datei, die im Netzwerk geöffnet wurde, wird genauso wie als ob diese auf Deinem Rechner befinden würde, ermittelt, nämlich mit dem Befehl, den Du ja auch schon genannt hast, ActiveWorkbook.Path.

Erklär bitte etwas genauer was Du meinst, eventuell mit einem Beispiel, denn ich vermute mal, dass Dich meine Antwort kein Stück weiter vorwärts bringt.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von peko

Hallo Oliver,

wie erfreulich, schon wieder du!

Zur vorbereitenden Verdeutlichung meines Problems: Wenn du EXCEL startest und dann in einem beliebigen Verzeichnis eine Datei öffnest, bleibst du beim Öffnen einer weiteren Datei zunächst in dem gleichen Verzeichnis der schon geöffneten Datei. Startest du aber eine Datei per Explorer, wird EXCEL beim Öffnen einer weiteren Datei im Allgemeinen nicht in dem Verzeichnis der bereits geöffneten Datei sein. Probiere es einfach aus, um besser zu verstehen, was ich meine.

Nun zu meinem eigentlichen Problem:

Ich habe auf dem Server im Verzeichnis E:\Verzeichnisname eine EXCEL-Datei (nennen wir sie Hautpdatei) mit u.a. einem Makro, das in dem Verzeichnis, in dem ich mich gerade befinde, weitere Dateien erzeugt.

Wenn ich auf einem Client zunächst EXCEL starte und erst dann die Hautpdatei auf dem Server aufrufe, begebe ich mich damit in das Verzeichnis mit der Hautpdatei, also auf den Server, und das Erzeugen der neuen Dateien funktioniert auch im Netzwerk einwandfrei.

Wenn ich aber im Netzwerk von einem Client aus die Hauptdatei z.B. über den Explorer starte (EXCEL wird dann auf dem Client automatisch geöffnet), bleibt EXCEL in dem verwendeten Standardverzeichnis auf dem Client und kann hier auf dem Client E:\Verzeichnisname natürlich nicht finden.

Darum meine Frage: Gibt es eine Funktion, die auch den Servernamen in die Rückmeldung (ähnlich wie ActiveWorkbook.Path) mit einbindet?

Danke erst mal für deine Mühe und Grüße.

peko

Antwort 3 von Primut

Hi peko,

habe versucht, dein Problem nachzuvollziehen, gerade auch nach der zweiten Beschreibung, hatte aber immernoch ähnliche Verständnisprobleme wie Coros.

Zitat:
bleibst du beim Öffnen einer weiteren Datei zunächst in dem gleichen Verzeichnis der schon geöffneten Datei


Nein! Du bleibst schlichtweg vor deinem Rechner sitzen und alle Dateien bleiben da, wo sie sind, wenn du sie nicht verschiebst oder unter einem anderen Pfad abspeicherst. Ich habe es bei mir ausprobiert und konnte beliebige Excel-Dateien auf beliebigten Rechnern öffnen, nie hat sich der Pfad der Dateien geändert, immer hat
ActiveWorkbook.Path
den aktuellen Pfad der Datei auf dem jeweiligen Rechner angegeben. Ich hab zwar nur ein normales Netzwerk, denke aber, das dürfte auch mit einem Server/Client nicht andes sein.

Anders sieht es natürlich aus, wenn du eine neue Exceldatei
Mappe1.xls 
eröffnest. Diese hat schlichtweg solange, wie sie noch nicht abgespeichert ist, noch gar keinen Pfad. Ich vermute, genau darin liegt dein Problem.
Eigentlich mußt du dann den Speicherpfad und den Dateinamen vorgeben. Wenn du diesen Pfad nicht vorgibst, nimmt Excel einen Standard-Pfad, und dieser hängt offensichtlich wirklich davon ab, welche Dateien wo in welcher Reihenfolge geöffnet wurden.

Daher nochmal meine Frage: Habe ich das richtig verstanden? Welche Dateien sollen wo gespeichert werden?

Gruß Primut

Antwort 4 von Primut

Hi peko,

noch zwei Sachen:

Zitat:
Gibt es eine Funktion, die auch den Servernamen in die Rückmeldung (ähnlich wie ActiveWorkbook.Path) mit einbindet?


In welche Rückmeldung?, Rückmeldung wovon?

Ich hab´s ebend nochmal ausprobiert, mit
ActiveWorkbook.Path
wird jeweils der aktuelle Pfad angezeigt von dem Rechner aus betrachtet, von dem die Datei offen ist und das Makro aufgerufen wird.
D.h. habe ich auf meinen Rechner eine Datei offen, die auf einem anderen Rechner gespeichert ist, wird mir bei der entsprechenden Pfadabfrage auch der andere Rechnername angezeigt. Bei Dateien meines Rechners wird dagegen der eigene Rechnername nicht mit angezeigt.

Gruß Primut

Antwort 5 von CaroS

Hallo peko,

nimmes nicht übel, wenn ich falsch liegen sollte, einen Versuch ist es Wert.

Zuerst muss ich mich mal vergewissern, was die Laufwerksbezeichnungen X: und E: eigentlich bedeuten und ich vermute folgendes: Der Server hat Laufwerke C:, D:, E: und noch viel mehr. Völlig uninteressant.

Auf dem Client, noch besser: auf allen in Frage kommenden Clients wird einheitlich ein Netzwerklaufwerk X: eingerichtet (Explorer -- Extras -- Netzwerklaufwerk verbinden... -- X: \\Servername\Freigabename ), wo jetzt in irgendwelchen Unterverzeichnissen das Excel-Leben stattfindet.

Dann wird nach meinem Wissen - unter der Bedingung, dass der Zugriff über das eingerichtete Netzwerklaufwerk erfolgt (und nicht über die Netzwerkumgebung -- ... -- Arbeitsgruppe/Domäne -- Computer -- Freigabe) das Laufwerk X: im Client genau wie ein lokales Laufwerk behandelt. Für Anwendungen wie Excel & Co. dürfte der tatsächliche physische Standort (im Netzwerk) nicht nur keine Rolle spielen, sondern völlig unerkannt bleiben. Die Datei liegt auf X: - fertig! Das müsste dann auch der ActiveWorkbook.Path so liefern.

Geht man mit dem Explorer dagegen über die Netzwerkumgebung -- ... zu der Datei und öffnet sie mit Doppelklick, zeigt ActiveWorkbook.Path \\Servername\Freigabename\Pfad an, also was ganz anderes.

Ich weiß nicht, ob das Dein Problem löst oder Dich ein Stück weiter bringt. Jedenfalls ist das bis hierhin eine reine Windows-Angelegenheit und kein Problem von Excel oder VBA.

Gruß,
CaroS

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: