Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

VBA Netzwerpfad verwenden
#1
Code:
ChDrive "L:"
ChDir "L:\c\d\e\f\g"



MsgBox ("aktuelle SAP-Sammelauswertung auswählen")

NeueDateipfad_Sammeldatei = Application.GetOpenFilename(FileFilter:="Microsoft Excel-Dateien (*.xlsx), *.xlsx", title:="b")                      ' Datei auswählen
If NeueDateipfad_Sammeldatei = False Then MsgBox "Der Upgrade vorgang wurde abgebrochen!", vbInformation, "Information": Exit Sub  ' bei Abbruch




Set Sammeldatei = Workbooks.Open(NeueDateipfad_Sammeldatei, ReadOnly:=True)


Hallo Zusammen,

ich brauche eine Möglichkeit direkt auf einen Netzwerkpfad zuzugreifen.

Bei Application.GetopenFilename soll dann der angegebene Pfad schonmal vorausgewählt sein. Das wäre beim Beispiel Code der Fall.

Ich möchte nicht das  Laufwerk L verwenden. L ist voreingestellt als \\stchwint\a\b
Code:
ChDrive "L:"
Code:
ChDir "L:\c\d\e\f\g"


Sonder direkt den Netzwerkpfad in etwa so, aber das funktioniert nicht.

Code:
ChDir "\\stchwint\a\b\c\d\e\f\g"


Oder auch direkt auf die Datei in diesem Pfad zugreifen. Aufjedenfall nur mit dem Netzwerkpfad nicht mit irgendwelchen Laufwerkbuchstaben.

Dank euch
Antwortento top
#2
Hallo,
Sub yxc()
With Application.FileDialog(msoFileDialogFilePicker)
.InitialFileName = "\\stchwint\a\b\c\d\e\f\g\"
.Filters.Add "Microsoft Excel-Dateien", "*.xlsx", 1
If .Show Then
Set Sammeldatei = Workbooks.Open(.SelectedItems(1), ReadOnly:=True)
Else
MsgBox "Der Upgrade vorgang wurde abgebrochen!", vbInformation, "Information"
End If
End With
End Sub
Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • stchwint
Antwortento top
#3
Hallöchen,

ich arbeite auch gerne mit den UNC-Pfaden aber man könnte alternativ auch die UNC-Pfade aller angebundenen Laufwerke prüfen und dadurch den richtigen Laufwerksbuchstaben feststellen. Im Prinzip so

Code:
Option Explicit

'Fuer UNC Aufloesung
Private Declare Function WNetGetConnection Lib "mpr.dll" _
                                           Alias "WNetGetConnectionA" (ByVal lpszLocalName As String, _
                                                                       ByVal lpszRemoteName As String, _
                                                                       cbRemoteName As Long) As Long
Sub test()
Dim objFSO As Object, strDrive As Object
Set objFSO = CreateObject("Scripting.filesystemobject")
For Each strDrive In objFSO.drives
    If strDrive.isready Then MsgBox strDrive.path & vbTab & GetUNCName(strDrive.path)
Next
End Sub
'-----------------------------------------------------------------
Public Function GetUNCName(ByVal path As String) As String
    Dim UNC As String * 512
    If Left(path, 2) = "\\" Then
        GetUNCName = path
        Exit Function
    End If
    If Len(path) = 1 Then path = path & ":"
    If Right(path, 1) <> "\" Then path = path & "\"
    If WNetGetConnection(Left(path, 2), UNC, Len(UNC)) Then
        GetUNCName = ""
    Else
        GetUNCName = Left(UNC, InStr(UNC, vbNullChar) - 1) & Mid(path, 3)
    End If
End Function
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • stchwint
Antwortento top
#4
Hallo André,

Deine Antwort hatte mit der Frage nicht direkt etwas zu tun. Wink
Wenn ich die Zuordnung sehen will, nutze ich in der Eingabeaufforderung (cmd) den Befehl net use.

Gruß Uwe
[-] Folgende(r) 1 Benutzer sagt Danke an Kuwer für diesen Beitrag:
  • stchwint
Antwortento top
#5
Moin Uwe,

Zitat:Deine Antwort hatte mit der Frage nicht direkt etwas zu tun.
zuweilen nimmt man den UNC Pfad nur deswegen, weil x user auf y Rechnern ihre Laufwerke unterschiedlich anbinden. Für den Fall könnte man alternativ auch den Laufwerksbuchstaben ermitteln

Zitat:Wenn ich die Zuordnung sehen will, nutze ich in der Eingabeaufforderung (cmd) den Befehl net use.
ich wollte das direkt ins vba übernehmen Smile
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
[-] Folgende(r) 1 Benutzer sagt Danke an schauan für diesen Beitrag:
  • stchwint
Antwortento top
#6
Danke euch Beiden. Kuwers-Variante war die passende. Die andere ist mir zu kompliziert :D. Trotzdem vielen DankSmile
Antwortento top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste