macro for each probleem

Status
Niet open voor verdere reacties.

barbarab

Gebruiker
Lid geworden
27 apr 2008
Berichten
5
Hallo

Ik probeer een macro te schrijven die iets doet met elke file die zich in een bepaalde folder bevindt.

Sub GetFilesFolder( )

Dim FSO As Object, FolderFile As Object, f As Object, fc As Object
Set FSO = CreateObject("Scripting.FileSystemObject")
Set f = fso.GetFolder("D:\WEB\")
Set fc = f.files

For Each FolderFile In fc
...
Next FolderFile


End Sub


Ik krijg echter telkens volgende fout op de lijn "For Each ..."

Niet toegestane waarde of gegevenstype. Gegevenstypes komen niet overeen.

Iemand een idee wat het probleem kan zijn?
 
en als je die FolderFile als Variant declareert?
 
en als je al die declaraties gewoon weglaat?
 
Klopt die directory d:\WEB\ wel? anders doe je een foreach op een leeg object
 
ik heb het net nog eens getest met een andere folder waarin enkel .doc documenten staan en ook hierbij krijg ik dezelfde fout.
 
Macro mbt files in Folder

Kijk eens bij de meegeleverde macro's.

Als je gaat naar Extra > Macro's > Macro's uitvoeren

en je kiest voor OpenOffice.org macro's > Gimmicks dan vind je daar
een map ReadDir. Als je daarvan de macro Main uitvoert tekent Draw een treeview van de door jouw gekozen directory.

Misschien dat je, door die betreffende macro's te bekijken, verder komt.
Het is voor mij nog een beetje te ingewikkeld.

Als ik mij goed herinner kent OOo BASIC geen FOR EACH (maar ben er niet zeker van)
 
schitterende tip! dit is de oplossing:

oUcbobject = createUnoService("com.sun.star.ucb.SimpleFileAccess")
DirContent() = oUcbObject.GetFolderContents("D:\WEB\",True)

If Ubound(DirContent()) <> -1 Then
MaxFileIndex = Ubound(DirContent())
For i = 0 to MaxFileIndex
FileName = DirContent(i)
...
Next i
End If
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan