Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: "Dir" mit OneDrive

Forumthread: VBA: "Dir" mit OneDrive

VBA: "Dir" mit OneDrive
03.05.2023 23:22:08
Stefan

Hallo zusammen,

ich nutze ein Tool, welches aus einer beliebigen Anzahl Excel-Dateien besteht, welche in einem Ordner mit fester Bezeichnung abgelegt werden. Diese Dateien werden von unterschiedlichen Personen bearbeitet. Es gibt dazu eine Sammeldatei, welche die Dateien in diesem festen Ordner der Reihe nach öffnet und Daten herauskopiert/übernimmt. Die Sammeldatei befindet sich immer eine Ebene höher als der Ordner mit den Grunddateien. Sie findet diesen Ordner also immer, indem sie ihr eigene Verzeichnis ausliest und den Unterordner an den Pfad anhängt. Der Pfad ist nicht immer gleich, da das Tool mehrfach genutzt wird und außerdem jeden Monat eine neue Kopie des Tools angelegt wird, darum geht das nur so. Das Ganze ist mit "Dir" gelöst und funktioniert ohne Probleme.
Das Tool soll nun in einer OneDrive-Umgebung eingesetzt werden, hier funktioniert es leider nicht mehr. Ich habe mit etwas Recherche herausgefunden, dass "Dir" wohl nicht mit OneDrive arbeitet.

Gibt es eine Möglichkeit, trotzdem "Dir" zu verwenden, evtl. mit einer anderen Pfadangabe? Ich habe gelesen, dass "Dir" mit einem UMC-Pfad gehen würde, kann man diesen bei OneDrive auslesen?

Evtl. allgemeiner gefragt, gibt es eine Möglichkeit, alle Dateien, die in einem bestimmten Ordner bei OneDrive abgelegt sind per VBA zu öffnen um Daten daraus zu kopieren?

Danke schon mal und viele Grüße
Stefan

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: "Dir" mit OneDrive
05.05.2023 11:21:16
Pappawinni
Damit hier auch eine Antwort steht.
Du wirst dir Zähne ausbeissen, wenn du online auf onedrive Raumnudeln willst.
Vorstellbar vielleicht, wenn du Dateien auf deinen PC synchronisiert hast.


AW: VBA: "Dir" mit OneDrive
06.05.2023 22:05:54
Stefan
Hmmm, das heißt, ich kann das vermutlich vergessen? Hat evtl. doch jemand eine Idee?


Anzeige
AW: VBA: "Dir" mit OneDrive
07.05.2023 11:09:56
Pappawinni
ich hab jetzt auch noch was bezüglich Mapping von Onedrive bei YouTube gefunden für Win 11
https://www.youtube.com/watch?v=jTAkaPnAsmw
Wobei ich an anderer Stelle gelesen habe, dass man onedrive erst als vertauenswürdige Site eintragen muss, damit das überhaupt funktionieren kann.

Anzeige
;
Anzeige

Infobox / Tutorial

VBA und OneDrive: So funktioniert's


Schritt-für-Schritt-Anleitung

Um mit VBA auf Dateien in einem OneDrive-Ordner zuzugreifen, folge diesen Schritten:

  1. OneDrive als Netzlaufwerk einrichten:

    • Öffne den Windows Explorer.
    • Klicke mit der rechten Maustaste auf "Dieser PC" und wähle "Netzlaufwerk verbinden".
    • Wähle einen Laufwerksbuchstaben und gib den OneDrive-Pfad ein. Dies könnte wie folgt aussehen:
      https://<dein-tenant>.sharepoint.com/personal/<dein-nutzer>/Documents/
    • Achte darauf, dass OneDrive synchronisiert ist, damit du auf die Dateien zugreifen kannst.
  2. VBA-Code zur Dateiauswahl:

    Sub DateienAusOneDriveÖffnen()
       Dim Datei As String
       Dim Ordner As String
    
       Ordner = "Z:\DeinOrdner\"  ' Ersetze mit deinem OneDrive Pfad
       Datei = Dir(Ordner & "*.xlsx") ' Suche nach Excel-Dateien
    
       Do While Datei <> ""
           ' Hier kannst du den Code zum Öffnen der Datei einfügen
           Workbooks.Open Ordner & Datei
           Datei = Dir
       Loop
    End Sub
  3. Fehlerbehebung:

    • Stelle sicher, dass du die richtigen Berechtigungen für den OneDrive-Ordner hast.
    • Überprüfe, ob die Dateien lokal synchronisiert sind.

Häufige Fehler und Lösungen

  • Fehler: "Datei nicht gefunden"
    Lösung: Überprüfe, ob die Datei im richtigen OneDrive-Ordner vorhanden ist und ob der Pfad korrekt ist.

  • Fehler: "Zugriff verweigert"
    Lösung: Stelle sicher, dass du die richtigen Berechtigungen für den Zugriff auf den OneDrive-Ordner hast. Möglicherweise musst du den Ordner als vertrauenswürdige Site in den Internetoptionen hinzufügen.


Alternative Methoden

Wenn die Verwendung von "Dir" nicht funktioniert, kannst du alternative Methoden in Betracht ziehen:

  1. Verwendung von FileSystemObject:

    Sub DateienMitFSOÖffnen()
       Dim fso As Object
       Dim Ordner As Object
       Dim Datei As Object
    
       Set fso = CreateObject("Scripting.FileSystemObject")
       Set Ordner = fso.GetFolder("Z:\DeinOrdner\")
    
       For Each Datei In Ordner.Files
           If Right(Datei.Name, 5) = ".xlsx" Then
               Workbooks.Open Datei.Path
           End If
       Next Datei
    End Sub
  2. Zugriff über SharePoint: Wenn deine Dateien in SharePoint gespeichert sind, kannst du die SharePoint-API verwenden, um auf die Dateien zuzugreifen.


Praktische Beispiele

  1. Daten aus mehreren Excel-Dateien zusammenführen:

    Sub DatenZusammenführen()
       Dim wb As Workbook
       Dim ws As Worksheet
       Dim ZielWb As Workbook
       Set ZielWb = ThisWorkbook
    
       ' OneDrive Ordner
       Dim Ordner As String
       Ordner = "Z:\DeinOrdner\"
    
       Dim Datei As String
       Datei = Dir(Ordner & "*.xlsx")
    
       Do While Datei <> ""
           Set wb = Workbooks.Open(Ordner & Datei)
           ' Kopiere Daten von wb nach ZielWb
           wb.Close False
           Datei = Dir
       Loop
    End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler in deinem VBA-Code zu vermeiden, indem es sicherstellt, dass alle Variablen deklariert sind.
  • Fehlerbehandlung: Implementiere On Error Resume Next und On Error GoTo für eine bessere Fehlerbehandlung.
  • Optimierung der Performance: Deaktiviere Bildschirmaktualisierungen mit Application.ScreenUpdating = False während der Ausführung deiner Makros.

FAQ: Häufige Fragen

1. Funktioniert "Dir" mit OneDrive?
Leider funktioniert "Dir" nicht gut mit OneDrive, da es nicht mit den cloudbasierten Pfaden umgehen kann.

2. Wie kann ich auf Dateien in OneDrive zugreifen?
Du kannst OneDrive als Netzlaufwerk einrichten und dann den Pfad in deinem VBA-Code verwenden.

3. Was ist der Unterschied zwischen OneDrive und SharePoint?
OneDrive ist in erster Linie für persönliche Dateispeicherung gedacht, während SharePoint für Team- und Projektarbeit genutzt wird.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige