Sviluppare funzionalita su Microsoft Office con VBA allegare più file con una stringa ad una mail versione2

Login Registrati
Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
  • Autore
    Articoli
  • #6760 Risposta

    mb
    Partecipante

      buon pomeriggio

      sto cercando di mettere insieme il file dello scorso fine settimana e un istruzione che mi avevate aiutato a fare alcuni anni fa

      nello scorso fine settimana mi avete fornito un'istruzione che restituiva l'estensione di un file con get_ext

       

      io adesso avrei piacere invece di cercare i file dentro la cartella prova e poi allegare quelli il cui nome contiene 2017

      innanzi tutto ho utilizzato questo per determinare il nome dei file

      Sub LeggeFileInDir()
      Dim strFile As String
      Dim r As Integer
      mFolder = "e:\prova\" ' directory di cui ottenere in colonna A la lista file
      strFile = Dir(mFolder & "*.f01")
      r = 1
      Do While strFile <> ""
          Cells(r, 2) = strFile    'copia i nomi dei file della cartella in colonna B
          p = InStr(strFile, ".")  ' conta i caratteri prima del 1 spazio
          Cells(r, 8) = Left(strFile, p - 1) ' scrive il testo estratto prima dello spazio
          strFile = Dir                  ' ritorna sulla directory er cercare se ci sono altri file
          r = r + 1                       ' aumenta il numeratore di 1 per passare all'inserimento successivo
          Loop
          
         
       End Sub

      poi dovrei modificare questa stringa di comando per l'invio dei file che mi interessano

      For Each ffile In ffiles
              If get_ext(ffile.Name) Like "2017" Then eMail.Attachments.Add CStr(ffile)
          Next

      naturalmente qui devo sostituire get_ext ( perchè era l'istruzione utilizzata nel programma precedente) con quale istruzione?

       

      Se poi posso evitare di utilizzare le celle d'appoggio per avere i nomi dei file da allegare meglio ancora

       

      grazie

       

      Allegati:
      You must be logged in to view attached files.
      #6762 Risposta

      mb
      Partecipante

        ciao ho trovato una soluzione ma c'è ancora un errore mio di sintassi per cui non mi genera gli allegati

         

        il file si chiamano

        ft201701

        ft201702

        ecc

        grazie

        forse è l'impostazione like che è errata??

         

         

         

        Allegati:
        You must be logged in to view attached files.
        #6764 Risposta

        mb
        Partecipante

          Risolto 

           

          mettendo gli asterischi 

          Like "*2017*"

          cosi funziona

           

          alla prossima

           

          #6765 Risposta

          vecchio frac
          Moderatore
            24 pts

            Hai fatto tutto da solo e sono contento 🙂

            per informazione:

            - get_ext è una funzione personalizzata (quindi non incorporata) che restituisce l'estensione di un nome di file (per l'esattezza ricerca nella stringa passata in argomento l'ultimo punto e restituisce tutto quello che segue, dando per scontato che l'ultimo punto identifica l'inizio dell'estensione)

            - se devi solo controllare che una stringa ne contenga un'altra utilizzi Like con i jolly, come hai scoperto: If ffile.Name Like "*2017*" Then ...

            - infine

            mb wrote:Se poi posso evitare di utilizzare le celle d'appoggio per avere i nomi dei file da allegare meglio ancora

            certo che puoi, riesci da solo? hai visto il mio codice nell'altra discussione che cicla tra i diversi file da allegare?

          Login Registrati
          Stai vedendo 4 articoli - dal 1 a 4 (di 4 totali)
          Rispondi a: allegare più file con una stringa ad una mail versione2
          Gli allegati sono permessi solo ad utenti REGISTRATI
          Le tue informazioni:



          vecchio frac - 829 risposte

          albatros54
          albatros54 - 516 risposte

          Marius44
          Marius44 - 282 risposte

          patel
          patel - 264 risposte

          Luca73
          Luca73 - 235 risposte