Clever-Excel-Forum

Normale Version: Laufzeitfehler 1004 beim Versuch Sharepoint Datei zu öffnen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hey Leute,

ich habe das Problem, dass ich den Laufzeitfehler 1004 "Die Methode 'Open' für das Objekt 'Workbook' ist fehlgeschlagen" bekomme, beim versuch mittels 'Workbooks.open' eine Datei vom Sharepoint zu öffnen.

Komisch ist, dass dies für Dateien welche im selben, oder einem übergeordneten Ordner liegen, funktioniert. Für jene in untergeordneten Ordnern jedoch nicht.
Damit sollte die generelle Mehtode ja nicht das Problem sein. Die Funktion '.FollowHyperlink' funktioniert auch einwandfrei, also sollte der Link ja auch okay sein.
Habe zwar schon gegooglet allerdings nichts dazu gefunden. Hier nochmal ein Code Beispiel (die Datei in der das Makro läuft liegt in Ordner 1):

Code:
Workbooks.Open ("https://company.sharepoint.com/sites/Ordner1/ZielDatei.xlsx") 'Funktioniert einwandfrei
Workbooks.Open ("https://company.sharepoint.com/sites/Ordner1/Ordner2/Zieldatei.xlsx") 'spuckt den benannten Fehler aus

Könnt ihr mir weiterhelfen?

Vielen Dank schonmal!
Hallöchen,

Workbooks.Open ("https://company.sharepoint.com/sites/Ordner1/Ordner2/Zieldatei.xlsx") 'spuckt den benannten Fehler aus

--> Mit FollowHyperlink geht die Datei aber auf?
Richtig, mit folgendem Code öffnet sich die Datei im Browser

Code:
ActiveWorkbook.FollowHyperlink("https://company.sharepoint.com/sites/Ordner1/Ordner2/Zieldatei.xlsx")


Ich habe es jetzt hinbekommen, aber die Lösung verwirrt mich ein wenig.
Der Dateipfad sieht in etwa so aus wie oben abgebildet, jedoch sind in diesem Leerzeichen vorhanden, welche im Pfad durch '%20' ersetzt werden, wenn man diesen kopiert. Quasi so:

Code:
Workbooks.Open ("https://company.sharepoint.com/sites/Ordner%201/ZielDatei.xlsx") 'Funktioniert einwandfrei
Workbooks.Open ("https://company.sharepoint.com/sites/Ordner%201/Ordner%202/Zieldatei.xlsx") 'spuckt den benannten Fehler aus

Wenn ich jetzt beim das '%20' beim 2. Ordner entferne, funktioniert es. Aber warum? Für mich macht das irgendwie keinen Sinn, da ja vorher, im selben Pfad alle Leerzeichen ersetzt werden außer für den letzten Ordner
Code:
Workbooks.Open ("https://company.sharepoint.com/sites/Ordner%201/Ordner 2/Zieldatei.xlsx") 'so funktioniert es
Hallöchen,

der Punkt ist, dass im Netz Leerzeichen nicht nur einfache Leerzeichen sein müssen. Man sollte sicherheitshalber darauf verzichten.
Also Ordner_1 oder Ordner01 oder was auch immer ist besser als Ordner 1 usw.