Oppure

Loading
26/06 10:09
xamm
Buongiorno a tutti,

la mia necessità sarebbe la seguente:

Ho una procedura che ogni giorno crea un file txt, lo rinomina in un determinato modo aggiungendo la data di elaborazione e lo deposita in una cartella di rete dove sono anche presenti tutti i file dei giorni precedenti.

Fin qui tutto ok.

Questi file depositati giornalmente nella cartella di rete, possono sia contenere record che essere vuoti.

Solo nel caso dovessero contenere dati, dovrebbe partire una mail a due indirizzi preimpostati con in allegato il file in oggetto.

devo partire dalla lettura del file giusto ?

Dim fileReader As String
fileReader = My.Computer.FileSystem.ReadAllText("C:\test.txt";)
MsgBox(fileReader)

però il naming del file ogni giorno cambia ...

Grazie a tutti e buona giornata.

xamm



aaa
26/06 17:12
Carlo
Con quale criterio il nome cambia?
Se i nomi iniziano tuti per test e poi contengono la data es:
test20230626.txt
test20230625.txt
test20230624.txt
test20230623.txt
In un ciclo puoi ricreare i nomi e se il file esiste caricarlo. Con questo metodo hai il controllo data/data sui files e caricare solo quelli con nomi validi oppure nel giusto range:
Dim cartella As String = "\server1\c\doc" ' tuo percorso di rete
Oggi = Today ' data di partenza
For testi = 0 To 10 ' ricerca di undici date
        ' creazione del nome del file comprensivo del percorso di rete
        Dim NomeFile As String = System.IO.Path.Combine(cartella, "test" & Oggi.Year.ToString("0000") & Oggi.Month.ToString("00") & Oggi.Day.ToString("00") & ".txt")
        If System.IO.File.Exists(NomeFile) Then 'lettura solo se esiste
            Dim testo As String = System.IO.File.ReadAllText(NomeFile)
            MsgBox(testo)
        Else
            MsgBox("il file: " & NomeFile & " non esiste")
        End If
        Oggi = Oggi.AddDays(-1) ' decremento la data di un giorno
Next



In alternativa puoi caricare tutti i files presenti nella cartella di rete e poi analizzare i nomi e decidere quali usare o meno.
Dim cartella As String = "\server1\c\doc" ' tuo percorso di rete
For Each Files In My.Computer.FileSystem.GetFiles(cartella)
        Dim testo As String = System.IO.File.ReadAllText(Files)
        MsgBox(testo)
Next
Ultima modifica effettuata da Carlo 26/06 18:14
in programmazione tutto è permesso