Application.GetOpenFilename: Dateiname mit lokalem Pfad
#21
Code:
Sub M_snb()
  c00 = "https://firma.sharepoint.com/sites/992764"
  MsgBox Application.DefaultFilePath & Split(c00, "/")(UBound(Split(c00, "/")))
End Sub
Zum übersetzen von Excel Formeln:

http://dolf.trieschnigg.nl/excel/index.p...gids=en+de
Antworten Top
#22
[quote pid="300545" dateline="1740407245"]
Code:
Sub M_snb()
  c00 = "https://firma.sharepoint.com/sites/992764"
  MsgBox Application.DefaultFilePath & Split(c00, "/")(UBound(Split(c00, "/")))
End Sub

[/quote]

Das liefert mir wieder einen Pfad c: und Verweist auf meinen Onedrive Ordner, aber nicht auf den Sharpoint. Der ist auf z: gemappt.

Jürgen

(24.02.2025, 14:11)knobbi38 schrieb: Btw.: 
Das ist ein UNC Pfad und keinr URL Angabe.

Leider hat der OP nicht beschrieben, warum die zahlreichen Methoden aus dem Link (#3) nicht funktionieren.

Die Methoden liefern entweder garnichts, oder aber einen Pfad der mit c:\users\ztbau\Onedrive - ... beginnt. da ist der Sharepoint aber nicht, er ist auf z: gemappt.

Jürgen
Antworten Top
#23
Mal eine ganz dumme Frage: wie bzw. womit hast du das dem Laufwerk z: zugeordnet?
Antworten Top
#24
(24.02.2025, 23:33)knobbi38 schrieb: Mal eine ganz dumme Frage: wie bzw. womit hast du das dem Laufwerk z: zugeordnet?

Im File Explorer. Mit "Netzlaufwerk verbinden" oder so.
Antworten Top
#25
Dann ist vielleicht WebDAV im Spiel. Du könntest mal die Registry auf die Mappings durchsuchen HKEY_USERS\<USER>\Network oder versuchen, mit WMI die Informationen auszulesen. In der Powershell:
Code:
> Get-CimInstance -ClassName Win32_LogicalDisk
> Get-CimInstance -ClassName Win32_MappedLogicalDisk

oder
> Get-PSDrive
> Get-SMBMapping
Vielleicht findest du dabei ja deine Laufwerkszuordnung mit der URL Angabe. Dann könnte man da weiter suchen.

Gruß
Knobbi38
Antworten Top
#26
(25.02.2025, 00:26)knobbi38 schrieb: Dann ist vielleicht WebDAV im Spiel. Du könntest mal die Registry auf die Mappings durchsuchen HKEY_USERS\<USER>\Network oder versuchen, mit WMI die Informationen auszulesen. In der Powershell:
Code:
> Get-CimInstance -ClassName Win32_LogicalDisk
> Get-CimInstance -ClassName Win32_MappedLogicalDisk

oder
> Get-PSDrive
> Get-SMBMapping
Vielleicht findest du dabei ja deine Laufwerkszuordnung mit der URL Angabe. Dann könnte man da weiter suchen.

Gruß
Knobbi38

Das funktioniert im Prinzip, gibt mir aber nur den UNC zu den gemappten Laufwerkbuchstaben aus. Was aber die URL dazu ist, sehe ich nicht. Hilft mir also nicht.

Jürgen
Antworten Top
#27
Tja, dann mußt du dir wohl einen anderen Workflow ausdenken oder deine C-DLL UNC fähig machen.
Antworten Top
#28
Liebe Helfer, vielen Dank für eure Mühe. Hat aber alles leider nicht geklappt, in Excel scheint es dafür keinen einfachen Weg zu geben. Mal wieder alle Vorurteile über Microsoft bestätigt.

Ich habe jetzt aber eine andere Lösung gefunden. ursprünglich ging es ja darum, dass der OpenFileDialog eine URL zurück liefert, selbst wenn man einen lokalen Pfad auswählt. Ich habe jetzt eine kurze C-Routine geschrieben, die den gleichen Dialog aufruft. Dort wird aber wirklich das zurück geliefert, was man aussucht. D.h. der lokale Pfad mit Laufwerksbuchstaben, wenn man den auswählt. Die C-Routine habe ich in eine DLL gepackt und kann sie jetzt auch von Excel aus aufrufen. Damit ist das Problem für mich gelöst.

Jürgen
Antworten Top
#29
Zitat:... dass der OpenFileDialog eine URL zurück liefert
Was für eine OpenFiledialog soll das sein? Der Filedialog von Office lefert jedenfalls keine URL für lokale Dateien.
Antworten Top
#30
Es geht um Daten auf einem Sharepoint, der aber auf einen Laufwerbuchstaben gemappt ist. dann liefert Application.GetOpenFilename eine URL, auch wenn ich über den Laufwerkbuchstaben auswähle.

Jürgen
Antworten Top


Gehe zu:


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