Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 52

Laufzeitfehler 52
22.02.2022 07:09:38
Joschi
Hallo VBA-Freunde.
Ich möchte aus einer durch ein Programm erstellten Liste prüfen, ob bestimmte Verzeichnisse noch existieren. Dazu benutze ich die DIR-Funktion in Verbindung mit vbDirectory.
Beim Verzeichnis C:\Windows\Temp\ erhalte ich einen Laufzeitfehler 52. Die Ursache hatte ich schnell gefunden: ich habe keine Leseberechtigung für dieses Verzeichnis.
Frage: wie kann ich den Laufzeitfehler ohne Einsatz von "on Error" vermeiden?.
Mein Test-Code:
Option Explicit

Sub LZF52()
Const Temp As String = "C:\Windows\Temp\"
Const User As String = "C:\User\"
Debug.Print Dir(User, vbDirectory)
Debug.Print Dir(Temp, vbDirectory)
End Sub
Gruß Josch

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 52
22.02.2022 07:50:20
Oberschlumpf
Hi Josch,
"wie kann ich den Laufzeitfehler ohne Einsatz von "on Error" vermeiden?."
a) entweder erhält dein Benutzerkonto die erforderlichen Leserechte (a1- ich weiß nich, wie man a) umsetzen könnte)
b) du schließt dieses und andere Verzeichnisse mit diesem (Lese)Problem aus deiner Kontrolle aus.
c) da ich glaube, dass dir meine Antwort nicht gefällt, lass ich den Thread offen.
Hilfts?
Ciao
Thorsten
AW: Laufzeitfehler 52
22.02.2022 08:53:59
peterk
Hallo
Ohne "\" am Schluss

Sub LZF52()
Const Temp As String = "C:\Windows\temp"
Const User As String = "C:\Users"
Debug.Print Dir(User, vbDirectory)
Debug.Print Dir(Temp, vbDirectory)
End Sub
Peter
Anzeige
AW: Laufzeitfehler 52
22.02.2022 09:38:24
Joschi
Hallo Peter,
danke für Deinen Vorschlag. Doch das bringt mich nicht weiter.
Zuerst einmal eine kleine Korrektur: statt C:\User sollte es C:\Users lauten.
Mit Dir("Users",vbDirectory") erhalte ich als Ergebnis "Users", also den Namen des Verzeichnisses.
Mit Dir("Users\",vbDirectory") erhalte ich als Ergebbnis ".", was mir anzeigt, dass der von mir angegeben Name ("Users") ein bestehendes Verzeichnis ist.
Mein Problem ist die Zugriffsberechtigung. Kann ich die irgendwie per VBA prüfen?
Gruß Joschi
AW: Laufzeitfehler 52
22.02.2022 10:03:25
Rudi

Kann ich die irgendwie per VBA prüfen?
Ja. Durch Einsatz von On Error. ;-)
Manchmal hat On Error durchaus seine Berechtigung.
Gruß
Rudi
Anzeige
AW: Laufzeitfehler 52
22.02.2022 10:08:49
Oberschlumpf
Gegenfrage:
Wieso muss es unbedingt ohne On Error funktionieren?
AW: Laufzeitfehler 52
22.02.2022 10:26:16
Joschi
Hallo Thorsten, hallo Rudi,

Wieso muss es unbedingt ohne On Error funktionieren?
Weil "On Error" in den Foren immer negativ dargestellt wird.

Manchmal hat On Error durchaus seine Berechtigung.
Ok. Dann werde ich versuchen, mit "On Error" das Problem zu lösen.
Danke und Gruß
Joschi
AW: Laufzeitfehler 52
22.02.2022 11:00:11
Oberschlumpf
und wieso hat's dich nun vom vorher Excel/VBA-PROFI nun zu "Basiskenntnisse in VBA" verwandelt?
("falsch ausgewählt" als Antwort seh ich als Ausrede - denn zwischen obersten und ziemlich weit untesten Eintrag - versehentlich - falsch auswählen erscheint doch als sehr unwahrsch. ...ja sicher, trotzdem nich umnöglich...)
Anzeige
AW: Laufzeitfehler 52
22.02.2022 11:54:50
Joschi
Hallo Thorsten,
irgendwie verstehe ich Deinen Kommentar zu

und wieso hat's dich nun vom vorher Excel/VBA-PROFI nun zu "Basiskenntnisse in VBA" verwandelt?
nicht.
Ich war nie ein Profi, zumindest wenn es um Excel und VBA ging oder geht.
AW: On Error Resume Next
22.02.2022 12:01:45
GerdL
Da bist du nicht alleine, Joschi.
Gruß Gerd
und nun sind wa schon zu dritt...
22.02.2022 15:20:00
Oberschlumpf
Hi Joschi,
ja, ich muss, und möchte, mich bei dir entschuldigen!
Ich weiß nich wieso ich bei dir die Auswahl "Profi" vorausgesetzt hatte....aber wirklich gelesen hatte ich die Einstellung hier:
https://www.herber.de/forum/messages/1871796.html
Ich nutze mal die (Aus)rede: Ich bin ja auch nur n Mensch (der auch B zu seinen Fehlern sagt, die er vorher mit A kundgetan hatte)
Ciao
Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige