Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

servername statt laufwerksbuchstabe?

359 views
Skip to first unread message

Pascaline Igel

unread,
Feb 1, 1999, 3:00:00 AM2/1/99
to
hi!

activeworkbook.path gibt ja bekanntlich den pfad zur aktuellen arbeitsmappe
zurück.
jetzt bräuchte ich aber statt dem laufwerksbuchstaben den dazugehörigen
servernamen. gibt es irgendeine funktion in VB, die das schafft (in excel97
mit NT 4.0)?

danke im voraus
pascaline

Pascaline Igel

unread,
Feb 1, 1999, 3:00:00 AM2/1/99
to
habe gerade festgestellt, daß die path-methode bei gewissen xl-mappen den
vollständigen pfad, also mit servernamen, bei anderen arbeitsmappen aber
den pfad mit laufwerksbuchstaben zurückgibt.

also einmal: F:\[ordner1]\[ordner2]\...\[dateiname]
dann wieder: \\[servername]\...\[dateiname]

von was hängt das ab und wie erhält man ganz sicher den namen des servers?
pascaline

Pascaline Igel <pascali...@internorm.co.at> schrieb in Nachricht
#bRSiodT#GA....@uppssnewspub05.moswest.msn.net...///

Wolfgang Kogler

unread,
Feb 1, 1999, 3:00:00 AM2/1/99
to
Hallo, Pascaline,
der Servername wird zurückgegeben , wenn Du eine Arbeitsmappe über die
Netzwerkumgebung öffnest und die Verbindung hier über einen freigegebenen
Share herstellst. Wenn Du dagegen vorher die Verbindung über Netzlaufwerk
verbinden unter Zuordnung eines Laufwerkbuchstabens hergestellt hast, wird
natürlich der Laufwerkbuchstabe angezeigt.

Liebe Grüße
Wolfgang

Pascaline Igel schrieb in Nachricht ...

Michael Schwimmer

unread,
Feb 3, 1999, 3:00:00 AM2/3/99
to
Hallo Pascaline
Ich habe eine Funktion geschrieben, die den Pfad mit Laufwerksbuchstaben in
den UNC Pfad umwandelt.
Ist zwar etwas länger geworden als ich erwartet habe, aber an der kürzeren
API Funktion WNetGetUniversalName habe ich mir die Zähne ausgebissen.

Declare Function WNetGetConnection& Lib "mpr.dll" Alias "WNetGetConnectionA"
(ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName
As Long)

Function PfadNachUnc(ByVal Pfadname As String) As String
Dim dummy, UncLaufwerk$, Laufwerk$, Pfad$
On Error GoTo Fehlerbehandlung
Laufwerk = Left(Pfadname, 2)
Pfad = Right(Pfadname, Len(Pfadname) - 2)
If InStr(2, Laufwerk, ":") <> 1 Then
UncLaufwerk = String(1001, 0)
dummy = WNetGetConnection&(Laufwerk, UncLaufwerk, 1000)
If dummy <> 0 Then UncLaufwerk = Pfadname: GoTo Fehlerbehandlung
UncLaufwerk = Left(UncLaufwerk, InStr(1, UncLaufwerk, Chr(0)) - 1) &
Pfad
Else
UncLaufwerk = Pfadname
End If
Fehlerbehandlung:
PfadNachUnc = UncLaufwerk
End Function


Sub testen()
Dim Pfad$
Pfad = "n:\test"
Pfad = PfadNachUnc(Pfad)
End Sub

MfG
Michael


Pascaline Igel schrieb in Nachricht ...
>habe gerade festgestellt, daß die path-methode bei gewissen xl-mappen den
>vollständigen pfad, also mit servernamen, bei anderen arbeitsmappen aber
>den pfad mit laufwerksbuchstaben zurückgibt.
>
>also einmal: F:\[ordner1]\[ordner2]\...\[dateiname]
>dann wieder: \\[servername]\...\[dateiname]
>
> von was hängt das ab und wie erhält man ganz sicher den namen des servers?
>pascaline
>

Michael Schwimmer

unread,
Feb 3, 1999, 3:00:00 AM2/3/99
to
Hallo,
Ein Fehler hat sich in meinen Code eingeschlichen.
Ersetzt folgende Zeile

>If InStr(2, Laufwerk, ":") <> 1 Then

gegen diese

If InStr(1, Laufwerk, ":") = 2 Then

MfG
Michael

>


0 new messages