Discussion:
Filesearch 07
(zu alt für eine Antwort)
Gerhard Meier
2009-01-14 16:38:37 UTC
Permalink
Hallo zusammen,

den Verweis auf die MS Scripting Runtime habe ich gemacht. Ich erhalte beim
Aussühren des nachstehenden
Codes, die Lauzeitfehlermeldung 13 an folgender Stelle (Set objFolder =
objFSO.GetFolder(strfolder) ). Kann mir jemand einen Tipp geben weshalb.

Besten Dank, für jeden Tipp.

Mit freundlichen Grüssen

Gerhard

Dim I As Long

Dim fso As New FileSystemObject

Dim fil As File

Dim fol As Folder

Dim Datei As String

Dim Pfad As String

Dim objFSO As New FileSystemObject

Dim objFolder As Folder

Dim objFile As File

Dim strfolder As String

strfolder = "C:\"

Set objFSO = New FileSystemObject

Set objFolder = objFSO.GetFolder(strfolder) 'FEHLER 13

For Each objFile In objFolder.Files

Debug.Print strfolder & objFile.Name

Next objFile
Thomas Möller
2009-01-14 17:19:37 UTC
Permalink
Hallo Gerhard,
Post by Gerhard Meier
den Verweis auf die MS Scripting Runtime habe ich gemacht. Ich erhalte beim
Aussühren des nachstehenden
Codes, die Lauzeitfehlermeldung 13 an folgender Stelle (Set objFolder =
objFSO.GetFolder(strfolder) ). Kann mir jemand einen Tipp geben weshalb.
Dim I As Long
Dim fso As New FileSystemObject
Dim fil As File
Dim fol As Folder
Dim Datei As String
Dim Pfad As String
Dim objFSO As New FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Dim strfolder As String
strfolder = "C:\"
Set objFSO = New FileSystemObject
Set objFolder = objFSO.GetFolder(strfolder) 'FEHLER 13
For Each objFile In objFolder.Files
Debug.Print strfolder & objFile.Name
Next objFile
ich habe Deinen Code in eine Access 2007-Datenbank kopiert und
ausgeführt. Der Code funktioniert bei mir einwandfrei.

Tritt der Fehler nur auf, wenn Du als Ordner "C:\" auswählst? Hast Du es
schon einmal mit einem anderen Ordner probiert?


CU
--
Thomas

Homepage: www.Team-Moeller.de
Gunter Avenius
2009-01-14 18:13:29 UTC
Permalink
Hallo Thomas,

Thomas Möller schrieb folgendes:
...
Post by Thomas Möller
ich habe Deinen Code in eine Access 2007-Datenbank kopiert und
ausgeführt. Der Code funktioniert bei mir einwandfrei.
kann ich bestätigen.
OS VISTA SP1, Access 2007 SP1

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
http://www.ribboncreator.de
Gunter Avenius
2009-01-14 17:06:48 UTC
Permalink
Hallo Gerhard,
Post by Gerhard Meier
den Verweis auf die MS Scripting Runtime habe ich gemacht. Ich
erhalte beim Aussühren des nachstehenden Codes, die
Lauzeitfehlermeldung 13 an folgender Stelle (Set objFolder =
objFSO.GetFolder(strfolder) ). Kann mir jemand einen Tipp geben weshalb.
Besten Dank, für jeden Tipp.
http://support.microsoft.com/kb/935402
http://www.tksoft-online.de/MS-Access-Tipps-und-Tricks/Tipps-und-Tricks-Access-2007/FileSearch-fehlt-unter-Access-2007.html

Gruß
Gunter
--
__________________________________________________________
Access FAQ: http://www.donkarl.com
home: http://www.avenius.com - http://www.AccessRibbon.de
http://www.ribboncreator.de
Gerhard Meier
2009-01-14 19:59:38 UTC
Permalink
Hallo zusammen.

Erst einmal vielen Dank. Euere Info's haben mich auf die Spur gebracht. Ich
musste vorerst einmal alle Verweise entfernen. Anschliessend habe ich
lediglich den MS Scriptin Runtime Verweis belassen, siehe da: Wunder es
klappt! Die Verweise wieder rein und schon funktioniert es auch bei mir.
Weis aber nicht weshalb.

Gruss Gerry
Post by Gerhard Meier
Hallo zusammen,
den Verweis auf die MS Scripting Runtime habe ich gemacht. Ich erhalte
beim Aussühren des nachstehenden
Codes, die Lauzeitfehlermeldung 13 an folgender Stelle (Set objFolder =
objFSO.GetFolder(strfolder) ). Kann mir jemand einen Tipp geben weshalb.
Besten Dank, für jeden Tipp.
Mit freundlichen Grüssen
Gerhard
Dim I As Long
Dim fso As New FileSystemObject
Dim fil As File
Dim fol As Folder
Dim Datei As String
Dim Pfad As String
Dim objFSO As New FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Dim strfolder As String
strfolder = "C:\"
Set objFSO = New FileSystemObject
Set objFolder = objFSO.GetFolder(strfolder) 'FEHLER 13
For Each objFile In objFolder.Files
Debug.Print strfolder & objFile.Name
Next objFile
Thomas Möller
2009-01-14 20:13:59 UTC
Permalink
Hallo Gerhard,
Post by Gerhard Meier
Erst einmal vielen Dank. Euere Info's haben mich auf die Spur gebracht.
Ich musste vorerst einmal alle Verweise entfernen. Anschliessend habe
ich lediglich den MS Scriptin Runtime Verweis belassen, siehe da: Wunder
es klappt! Die Verweise wieder rein und schon funktioniert es auch bei
mir. Weis aber nicht weshalb.
die Erklärung findest Du in Saschas Posting. Du hast in Deinen Verweisen
eine weitere Bibliothek, die ebenfalls ein Folder-Objekt bereitstellt.

In Deinem ursprünglichen Programm befand sich der Verweis auf diese
Bibliothek vor dem Verweis auf die Scripting Runtime. Jetzt hast Du alle
Verweise entfernt. Dann hast Du als erstes den Verweis auf die Scripting
Runtime und danach alle anderen Verweise wieder eingefügt. Damit ist der
Verweis auf die Scripting Runtime jetzt vor dem Verweis auf die "andere"
Bibliothek. Er hat somit eine höhere Priorität und wird demnach zuerst
auf der Suche nach einem Objekt mit dem Namen "Folder" verwendet.

Wenn Du nicht mehr von der (mehr oder weniger zufälligen) Reihenfolge
der Verweise abhängig sein willst, dann solltest Du Saschas Hinweis
folgen und die entsprechende Variable vom Typ "Scripting.Folder"
deklarieren. Auf diesem Weg stellst Du klar, in welcher Bibliothek das
Objekt zu finden ist. Access bzw. VBA braucht nicht mehr selber zu
suchen und der Fehler tritt (unabhängig von der Reihenfolge der
Verweise) nicht mehr auf.

CU
--
Thomas

Homepage: www.Team-Moeller.de
Sascha Trowitzsch
2009-01-14 18:58:38 UTC
Permalink
Hi Gerhard,
Post by Gerhard Meier
Hallo zusammen,
den Verweis auf die MS Scripting Runtime habe ich gemacht. Ich erhalte beim
Aussühren des nachstehenden
Codes, die Lauzeitfehlermeldung 13 an folgender Stelle (Set objFolder =
objFSO.GetFolder(strfolder) ). Kann mir jemand einen Tipp geben weshalb.
Besten Dank, für jeden Tipp.
Mit freundlichen Grüssen
Gerhard
Dim I As Long
Dim fso As New FileSystemObject
Dim fil As File
Dim fol As Folder
Dim Datei As String
Dim Pfad As String
Dim objFSO As New FileSystemObject
Dim objFolder As Folder
Dim objFile As File
Dim strfolder As String
strfolder = "C:\"
Set objFSO = New FileSystemObject
Set objFolder = objFSO.GetFolder(strfolder) 'FEHLER 13
For Each objFile In objFolder.Files
Debug.Print strfolder & objFile.Name
Next objFile
"Typen unverträglich" sollte einen eigentlich auf die Spur bringen.
Ich nehme an, dass es in deiner DB noch eine andere Bibliothek gibt, die ein
Folder-Objekt kennt.
Versuch's mal, indem du die Folder-Variablen als
Post by Gerhard Meier
As Scripting.Folder
deklarierst.

Ciao, Sascha
Henry Habermacher
2009-01-15 12:13:32 UTC
Permalink
Hallo Sascha
Post by Sascha Trowitzsch
"Typen unverträglich" sollte einen eigentlich auf die Spur bringen.
Ich nehme an, dass es in deiner DB noch eine andere Bibliothek gibt, die
ein Folder-Objekt kennt.
Versuch's mal, indem du die Folder-Variablen als
Post by Gerhard Meier
As Scripting.Folder
deklarierst.
Noch besser wäre eigentlich, hier auf Late Binding zu gehen und auf die
VErweise ganz zu verzichten. Wenn diese Variable als Object angelegt ist und
die Methode GetFolder() aufgerufen wird, wir die Variable automatisch zu
dem, was die Methode zurückliefert.

Gruss
Henry
--
Microsoft MVP Office Access
Keine E-Mails auf Postings in NGs. Danke.
Access FAQ www.donkarl.com
Loading...