Inlezen gegevens

Status
Niet open voor verdere reacties.

mat123

Gebruiker
Lid geworden
3 okt 2011
Berichten
17
Tot vorig jaar kon ik met "Set fs=Application.FileSearch" mijn bestanden die in de directory stonden ingelezen krijgen. We werkten toen nog met excel 2007. Nu werken we met excel 2010 en krijg ik de volgende foutmelding "Fout 445 tijdens uitvoering. Deze actie wodrt niet ondersteunt door het object". Hoe moet ik de VBA code wijzigen om toch mijn gegevens ingelezen te krijgen ?
Ik hoop dat iemand de code zodanig aan kan passen zodat ik de begrotingscijfers ingelezen kan krijgen.
 

Bijlagen

Je hoeft je code niet te wijzigen, maar wel de bibliotheken. Kijk eens of er een ontbrekende bibliotheek is; Office 2010 gebruikt nieuwere versies dan 2007.
 
Application.filesearch wordt niet ondersteund in Office 2007 en 2010.
 
Mat 123,

De door jou gebruikte methode wordt inderdaad niet meer ondersteund.
Hiervoor in de plaats is de filedialog methode gekomen.
Vervang in jou code de oude methode met de nieuwe, hierbij een voorbeeld.

Code:
    'Create a FileDialog object as a File Picker dialog box.
    Set fd = Application.FileDialog(msoFileDialogFilePicker)

With fd
    .InitialFileName = Directory$
    .Filters.Add "Databestanden", "*.xls?", 1
    .AllowMultiSelect = True
    If .Show = -1 Then
        If .SelectedItems.Count > 0 Then
            For Each vrtSelectedItem In .SelectedItems
                Inleesxls$ = vrtSelectedItem
            '   MsgBox vrtSelectedItem
                Call inleesverwerk(Inleesxls$, bestand$, boekregel)
            Next
        Else
            MsgBox "Geen bestanden gekozen."
        End If
    End If

Veel Succes.
 
Dat lijkt me een vermetele stelling. Application filesearch kon volledig door VBA ingesteld worden zonder tussenkomst van de gebruiker. Bovendien bevatte filesearch een subfolders optie en een sorteeroptie. Die ontbreken bij deze dialogspresentatie.

De beste benadering, waarop filesearch ook gebaseerd was, is deze:

Code:
sn=split(createobject("wsript.shell").exec("cmd /c Dir G:\OF\*.xls /b /s o-d").stdout.readall,vbcrlf)
 
En zonder typfout werkt hij waarschijnlijk ook nog ;)
Code:
sn=split(createobject("ws[B][COLOR="#FF0000"]c[/COLOR][/B]ript.shell").exec("cmd /c Dir G:\OF\*.xls /b /s o-d").stdout.readall,vbcrlf)
 
ach een mens is nooit te oud om te testen, nietwaar .... ? ;)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan