Ich versuche, eine Excel-Datei von SharePoint mit VBA zu öffnen. Da die von mir gesuchte Datei bei jedem Ausführen des Makros unterschiedlich sein kann, möchte ich den SharePoint-Ordner anzeigen und die Datei auswählen können, die ich brauche.
Der folgende Code funktioniert einwandfrei, wenn ich nach einer Datei auf einem Netzlaufwerk suchen möchte, aber wenn ich das durch eine SharePoint-Adresse ersetze, bekomme ich "Laufzeitfehler 76: Pfad nicht gefunden".
%Vor%Wenn ich diese Adresse in Windows Explorer einfüge, habe ich keine Probleme beim Zugriff auf den SharePoint-Ordner, daher weiß ich, dass der Pfad korrekt ist.
Warum gefällt VBA nicht?
Versuchen Sie diesen Code, um eine Datei von einer SharePoint-Website auszuwählen:
%Vor% Wenn ich mich richtig erinnere, muss die Microsoft Scripting Runtime
Referenz aktiviert sein. Außerdem kann Ihre Website Backslashes verwenden, in meinem Fall werden Schrägstriche verwendet.
Ich transformiere die URL in eine WebDAV-Adresse mit der folgenden Funktion, die ich erstellt habe. Diese Funktion gibt auch normale Systempfade und UNC-Pfade unbeschadet zurück.
Rufen Sie diese Funktion auf, indem Sie sie in ein Modul in Ihrem VBA-Projekt einfügen und MyNewPathString = Parse_Resource(myFileDialogStringVariable)
unmittelbar nach dem Befehl dateidialog und vor dem Verwenden des im Dateidialogfeld ausgewählten Pfads eingeben. Dann referenzieren Sie "MyNewPathString", wenn Sie den Speicherort der Zieldatei verwenden.
Diese Funktion überprüft, ob Ihr Dateipfad eine URL ist und ob sie sicher (HTTPS) oder nicht sicher (HTTP) ist. Wenn es sich um eine URL handelt, wird die entsprechende WebDAV-Zeichenfolge erstellt, sodass Sie direkt mit der Zieldatei in SharePoint verknüpfen können.
Der Benutzer wird wahrscheinlich jedes Mal, wenn die Datei geöffnet wird, zur Eingabe von Anmeldeinformationen aufgefordert, insbesondere wenn er nicht in derselben Domäne wie die SharePoint-Farm sitzt.
BITTE BEACHTEN SIE: Ich habe dies nicht mit einer http-Site getestet, bin aber zuversichtlich, dass es funktionieren wird.
Sie können meinen Ansatz verwenden, um SharePoint-Ordner als Netzlaufwerke zuzuordnen. Dann können Sie so weitermachen wie bisher.
Excel VBA Up- / Download von mehreren SharePoint-Ordnern
Dann können Sie auch die Dateien mit Dir
oder Dateisystemobjekt
Bitte beachten Sie, dass in Ihrem ursprünglichen Code ein Tippfehler enthalten ist
%Vor%sollte durch
ersetzt werden %Vor%Der Unterstrich fehlt.
Tags und Links vba excel excel-vba sharepoint excel-2010