Condividi tramite

contare file in una directory

Anonimo
2013-06-10T13:25:00+00:00

Ciao!

Esiste una funzione in vb6 (da utilizzare in una macro excel) che conta quanti file "*.txt" (per esempio) sono presenti in una determinata directory?

Domanda semplice, risposta certa ;-)

Grazie

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

Risposta accettata dall'autore della domanda

  1. Anonimo
    2013-06-10T13:51:36+00:00

    Ciao!

    Esiste una funzione in vb6 (da utilizzare in una macro excel) che conta quanti file "*.txt" (per esempio) sono presenti in una determinata directory?

    Domanda semplice, risposta certa ;-)

    Grazie

    Due modi:

    Public Sub m_1()

        Dim objFSO As Object

        Dim objFolder As Object

        Dim objFile As Object

        Dim sPath As String

        Dim lCont As Long

        sPath = "C:\Test"

        Set objFSO = CreateObject("Scripting.FileSystemObject")

        Set objFolder = objFSO.GetFolder(sPath)

        For Each objFile In objFolder.Files

            Select Case Right(objFile.Name, 4)

                Case ".txt"

                   lCont = lCont + 1

                    Set objFile = Nothing

            End Select

        Next

        MsgBox lCont

        Set objFolder = Nothing

        Set objFSO = Nothing

     End Sub

    Public Sub m_2()

        Const MYFOLDER As String = "C:\Test"

        Dim sFileName As String

        Dim lCont As Long

        sFileName = Dir(MYFOLDER & "*.txt")

        lCont = 0

        Do While (Len(sFileName) > 0)

            On Error Resume Next

            lCont = lCont + 1

            sFileName = Dir

         Loop

         MsgBox lCont

    End Sub

    Cambia la path e le estensioni dei file con i tuoi.

    La prima soluzione mi consente di creare un file vbs senza dover per forza utilizzare Excel. Questo il codice:

        Dim objFSO

        Dim objFolder

        Dim objFile

        Dim sPath

        Dim lCont

        sPath = "C:\Test"

        Set objFSO = CreateObject("Scripting.FileSystemObject")

        Set objFolder = objFSO.GetFolder(sPath)

        For Each objFile In objFolder.Files

            Select Case Right(objFile.Name, 4)

                Case ".txt"

                   lCont = lCont + 1

                    Set objFile = Nothing

            End Select

        Next

        MsgBox lCont

        Set objFolder = Nothing

        Set objFSO = Nothing

    e qui come creare un file .vbs:

    http://www.maurogsc.eu/vbscript/vbscrearevbs.aspx

    Questa macro, che possiamo trasformare in .vbs, conta invece *tutti* i files di una Directory:

    Public Sub m_3()

        Dim objFSO As Object

        Dim objFolder As Object

        Dim sPath As String

        sPath = "C:\Test"

        Set objFSO = CreateObject("Scripting.FileSystemObject")

        Set objFolder = objFSO.GetFolder(sPath)

        MsgBox objFolder.Files.Count

        Set objFolder = Nothing

        Set objFSO = Nothing

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento

3 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2013-06-11T08:13:25+00:00

    Buongiorno!

    Ho usato la Public Sub m_2()

    Grazie a tutti!!

    Lucia

    Bene!

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2013-06-11T08:07:00+00:00

    Buongiorno!

    Ho usato la Public Sub m_2()

    Grazie a tutti!!

    Lucia

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2013-06-10T13:45:35+00:00

    Ciao!

    Esiste una funzione in vb6 (da utilizzare in una macro excel) che conta quanti file "*.txt" (per esempio) sono presenti in una determinata directory?

    Domanda semplice, risposta certa ;-)

    Grazie

    Ciao Lucia,

    no, più semplice di così. :)

    Andrea.


    Public Function contaFile(ByVal sFolder As String, ByVal sFile As String) As Long

    Dim sFileName As String

    Dim lCount As Long

    If (Right(sFolder, 1) <> "") Then sFolder = sFolder & ""

    sFileName = Dir(sFolder & sFile, vbNormal Or vbHidden Or vbSystem Or vbReadOnly)

    Do While (Len(sFileName) <> 0)

    lCount = lCount + 1

    sFileName = Dir()

    Loop

    contaFile = lCount

    End Function


    La risposta è stata utile?

    0 commenti Nessun commento