Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.10.2025 09:06:52
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datei-/Ordnerhandling OneDrive

Forumthread: Datei-/Ordnerhandling OneDrive

Datei-/Ordnerhandling OneDrive
31.01.2021 19:16:26
SteffenS
Hallo Zusammen,
ich habe eine Excel-Anwendung welche bisher lokal und im Netzwerk sauber funktioniert hat.
Nun soll diese in OneDrive migriert werden.
Dabei habe ich festgestellt das der Dir Aufruf nicht mehr funktioniert und dies angepasst.
Leider funktioniert es mit FileSystemObject auch nicht.
Nachfolgend eine kleine Funktion, welche immer False zurückliefert. Was muss ich tun, damit dies auch in OneDrive läuft:
Function IsFolderExists(apath As String) As Boolean
Dim FS As Object
'Pfad prüfen
If Right(apath, 1) "\" Then apath = apath & "\"
Set FS = CreateObject("scripting.filesystemobject")
If FS.FolderExists(apath) = False Then
IsFolderExists = False
Else
IsFolderExists = True
End If
End Function

Function IsFolderExists(apath As String) As Boolean
Dim FS As Object
'Pfad prüfen
If Right(apath, 1) "\" Then apath = apath & "\"
Set FS = CreateObject("scripting.filesystemobject")
If FS.FolderExists(apath) = False Then
IsFolderExists = False
Else
IsFolderExists = True
End If
End Function

Danke Euch
VG Steffen
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datei-/Ordnerhandling OneDrive
01.02.2021 08:52:38
RPP63
Moin!
An den (lokal gespiegelten) OneDrive-Ordner kommst Du mittels
Environ("OneDrive")

Prüfen, ob DeinOrdner vorhanden ist, ginge also bspw. so:
Function ODFolderExists(DeinOrdner$) As Boolean
If Dir(Environ("OneDrive") & "\" & DeinOrdner & "\", vbDirectory) Then ODFolderExists = True
End Function
Gruß Ralf
Anzeige
AW: Datei-/Ordnerhandling OneDrive
02.02.2021 12:16:35
SteffenS
Hallo Ralf,
danke für die Antwort. Funktioniert dies auch beim Abbrüfen, ob eine Datei vorhanden ist?
VG SteffenS
AW: Datei-/Ordnerhandling OneDrive
03.02.2021 18:20:25
Oberschlumpf
ähh Steffen?
bei VBA = Gut musst du aber wissen, wie das Vorhandensein einer Datei mit DIR geprüft wird.
Pass einfach den Code von Ralf korrekt an - du weißt nicht, wie das geht? Dann änder bitte deine Einschätzung für dein VBA-Wissen.
Ciao
Thorsten
Anzeige
;
Anzeige

Infobox / Tutorial

Datei- und Ordnerhandling in OneDrive mit VBA


Schritt-für-Schritt-Anleitung

  1. Zugriff auf den OneDrive-Ordner: Um auf den OneDrive-Ordner zuzugreifen, kannst Du die VBA-Funktion Environ("OneDrive") verwenden. Diese gibt den Pfad zu Deinem OneDrive-Ordner zurück.

    Dim OneDrivePath As String
    OneDrivePath = Environ("OneDrive")
  2. Überprüfen, ob ein Ordner existiert: Um zu prüfen, ob ein bestimmter Ordner in Deinem OneDrive vorhanden ist, kannst Du die folgende Funktion verwenden:

    Function ODFolderExists(DeinOrdner As String) As Boolean
       If Dir(Environ("OneDrive") & "\" & DeinOrdner & "\", vbDirectory) <> "" Then
           ODFolderExists = True
       Else
           ODFolderExists = False
       End If
    End Function
  3. Überprüfen, ob eine Datei existiert: Du kannst den Dir-Befehl auch verwenden, um zu überprüfen, ob eine Datei vorhanden ist. Hier ist ein Beispiel:

    Function IsFileExists(Dateiname As String) As Boolean
       If Dir(Environ("OneDrive") & "\" & Dateiname) <> "" Then
           IsFileExists = True
       Else
           IsFileExists = False
       End If
    End Function

Häufige Fehler und Lösungen

  • Ordner bleibt leer: Wenn Du feststellst, dass Dein OneDrive-Ordner leer ist, überprüfe, ob Du den richtigen Pfad mit Environ("OneDrive") verwendest. Manchmal kann es zu Synchronisationsproblemen kommen, falls der OneDrive-Client nicht richtig läuft.

  • Funktion gibt immer False zurück: Wenn Deine Funktion zur Überprüfung der Ordner oder Dateien immer False zurückgibt, stelle sicher, dass Du den vollständigen Pfad korrekt angibst und der Ordner oder die Datei tatsächlich existiert.


Alternative Methoden

Eine alternative Methode zum Überprüfen von Ordnern und Dateien in OneDrive ist die Verwendung des FileSystemObject. Hier ist eine Beispielimplementierung:

Function IsFolderExistsFS(apath As String) As Boolean
    Dim FS As Object
    Set FS = CreateObject("Scripting.FileSystemObject")
    IsFolderExistsFS = FS.FolderExists(apath)
End Function

Diese Methode kann nützlich sein, wenn Du mehr Kontrolle über das Dateisystem benötigst.


Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du die oben genannten Funktionen nutzen kannst:

  1. Ordner überprüfen:

    If ODFolderExists("MeinOrdner") Then
       MsgBox "Der Ordner existiert!"
    Else
       MsgBox "Der Ordner existiert nicht."
    End If
  2. Datei überprüfen:

    If IsFileExists("MeineDatei.xlsx") Then
       MsgBox "Die Datei existiert!"
    Else
       MsgBox "Die Datei existiert nicht."
    End If

Diese einfachen Beispiele helfen Dir, den Umgang mit OneDrive in VBA zu erlernen.


Tipps für Profis

  • Verwende error handling: Implementiere Fehlerbehandlung in Deinen Funktionen, um unerwartete Probleme beim Zugriff auf OneDrive zu vermeiden.

  • Vergewissere Dich über Synchronisationsstatus: Prüfe regelmäßig, ob Dein OneDrive korrekt synchronisiert wird, insbesondere wenn Du auf Dateien im OneDrive-Ordner zugreifst.

  • Dokumentation: Halte Deine VBA-Projekte gut dokumentiert, um den Überblick über die verwendeten Funktionen zu behalten und zukünftige Anpassungen zu erleichtern.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass meine OneDrive-Ordner immer synchronisiert sind?
Stelle sicher, dass der OneDrive-Client auf Deinem Computer läuft und regelmäßig synchronisiert wird. Überprüfe die Einstellungen in der OneDrive-App.

2. Was kann ich tun, wenn der Environ("OneDrive")-Befehl nicht funktioniert?
Überprüfe, ob der OneDrive-Client installiert und aktiv ist. Manchmal kann es auch hilfreich sein, den Computer neu zu starten oder den OneDrive-Client neu zu installieren.

3. Gibt es Einschränkungen bei der Verwendung von VBA mit OneDrive?
Ja, einige Funktionen und Methoden können in OneDrive anders arbeiten als lokal auf dem Computer. Es ist wichtig, dies bei der Entwicklung Deiner VBA-Anwendungen zu berücksichtigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige