Applicationfilesearch



  • Application.filesearch
    di Lorenzo (utente non iscritto) data: 16/06/2011

    Ciao ragazzi!

    sono un utente non iscritto e ho trovato questo forum mediante google.
    con questo post spero di non "attingere" informazioni ma anche di essere d'aiuto ad altri.

    da qualche giorno sono passato ad office 2010 dalla precedente versione 2000 (un bel salto).
    mi sono accorto che qualche funzione è stata defalcata ma era utilissima.

    nell'esempio che riporto di seguito in un modo un po' articolato vado a popolare una combobox
    con i nomi dei files *.csv contenuti in c: emp. era semplicemente una manna nel deserto.
    ora "application.filesearch" non riesco ad utilizzarla perchè eliminata da vba 2010 e non
    saprei come sostituirla.

    thanks

    lorenzo
     
    Set fs = Application.FileSearch
    
    With fs
        .LookIn = "C:TEMP"
        .Filename = "*.CSV"
        If .Execute(SortBy:=msoSortByFileName, SortOrder:=msoSortOrderAscending) > 0 Then
            For i = 1 To .FoundFiles.Count: RICHIESTA_INPUT.ComboBox1.AddItem .FoundFiles(i): Next i
        Else
            Exit Sub
        End If
    End With



  • di Lorenzo (utente non iscritto) data: 20/06/2011

    Il salto da office 2000 a 2010 non è stato indolore, soprattutto perchè ms ha deciso di "tagliare" dei comandi vba comodissimi ed efficacissimi presenti nella versione 2000 con tutte le conseguenze di compatibilità per le versioni successive.

    dopo ricerche in internet e varie prove ho raggiunto un compromesso che per me è accettabile riportato di seguito. se qualcuno se la sente di migliorarlo spero abbia la voglia di postarlo di seguito!

    un saluto a tutti!
    lorenzo

    ps: ovviamente seleziono solo il tipo file csv che servono a me, se volete una lista completa della directory togliere la condizione -if-.
     
    Dim fs, f, f1, fc, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFolder(folderspec)
    Set fc = f.Files
    For Each f1 In fc
         If f1.Type = "File con valori separati da virgola (CSV) di Microsoft Excel" Then 
              RICHIESTA_INPUT.ComboBox1.AddItem f1 'a
    Next