You are here:--Pubblicare Testo in una Mail Solo Se Allegato un Determinato File
Pubblicare Testo in una Mail Solo Se Allegato un Determinato File2018-02-18T11:59:52+01:00

Home Forum Domande su Excel VBA e MACRO Pubblicare Testo in una Mail Solo Se Allegato un Determinato File

  • Autore
    Articoli
  • AvatarPDA
    Partecipante
      Post totali: 2

      Ciao a tutti,

      sono nuovo su questo forum, dopo averne visitati diversi, grazie ai quali sono riuscito a creare il codice sotto riportato.

      Adesso però mi trovo bloccato. Spero di avere le risposte alle mie esigenze.

      Con questo codice riesco a creare i file “codice cliente.xlsx” dei SOLI codici clienti COMUNI ai fogli PREZZI ed ESTRATTI CONTO, salvandoli sul desktop (macro presente nel Modulo 6).

      Con la funzione presente nel Modulo 7, allego i file creati sopra alla specifica mail proprio di quel codice cliente.

      Public Function bFound1() As Variant

      Dim rAgenti As Range, Cella As Range, totAgenti As Range
      Dim Shc As Worksheet, Shc1 As Worksheet
      Dim uR As Long, ur1 As Long
      Dim myItem As Variant

      Application.ScreenUpdating = False

      Set Shc = ThisWorkbook.Sheets(“Estratti Conto”)
      Set Shc1 = ThisWorkbook.Sheets(“PREZZI”)
      uR = Shc.Range(“A” & Rows.Count).End(xlUp).Row
      ur1 = Shc1.Range(“G” & Rows.Count).End(xlUp).Row
      Set rAgenti = Shc1.Range(Shc1.Cells(8, 7), Shc1.Cells(ur1, 7)) ‘Foglio PREZZI
      Set totAgenti = Shc.Range(Shc.Cells(2, 1), Shc.Cells(uR, 1)) ‘Foglio ESTRATTI CONTO

      On Error Resume Next
      For Each myItem In rAgenti
      bFound = False
      For Each Cella In totAgenti
      If Cella.Value = CLng(myItem) Then
      bFound = True
      End If
      Next Cella
      Next myItem

      Set Cella = Nothing
      Set Shc = Nothing
      Set Shc1 = Nothing

      Application.ScreenUpdating = True

      End Function

      Il grosso problema che sto trovando è che con la seguente istruzione:

      If bFound1(Riga) Then
      .Attachments.Add (Environ(“USERPROFILE”) & “\Desktop\” & “Archivio\” & (Foglio1.Cells(Riga, 7).Value & “.xlsx”))
      .HTMLBody = Trim(Foglio4.Cells(24, 5)) & accapo & accapo & aStr & accapo & accapo & .HTMLBody
      Else
      .HTMLBody = aStr & accapo & accapo & .HTMLBody

      End If

      non riesco ad inserire l’avviso presente nell’apposito foglio (AVVISI) SOLO per le mail che hanno l’allegato “codice cliente.xlsx” (altre mail hanno un altro tipo di allegato) e non a tutte le mail in uscita.

      Qualcuno potrebbe aiutarmi a scalare la montagna?

      Grazie mille come sempre.

      Saluti,

      PDA

      PS Questo è il link dove ho inserito il file di prova:
      https://1drv.ms/f/s!AqPTHQbY5cF7gQHGlLTtq_x4F5ot

      • Questo argomento è stato modificato 1 anno, 8 mesi fa da Avatar PDA.
      • Questo argomento è stato modificato 1 anno, 8 mesi fa da Avatar PDA.
    • BySalvBySalv
      Amministratore del forum
        Post totali: 536

        Ciao PDA, credo che la parte:

        .Attachments.Add (<strong>Environ(“USERPROFILE”) & “\Desktop\” & “Archivio\” & (Foglio1.Cells(Riga, 7).Value & “.xlsx”)</strong>)

        dovresti inserirla in una variabile Stringa del tipo

        Dim File as string
        
        File = Foglio1.Cells(Riga, 7) & “.xlsx”

        da trasformarlo poi in

        .Attachments.Add (.Attachments.Add (Environ(“USERPROFILE”) & “\Desktop\” & “Archivio\” & file))

        a volte i range non vengono letti bene, poi togli Value in quanto sicuramente sarà una stringa nella cella.

        Prova e fai sapere, Ciao By Sal  :bye:

      • AvatarPDA
        Partecipante
          Post totali: 2

          Ciao By Sal,

          purtroppo non va.

          Il problema del messaggio presente anche nelle mail che non hanno in allegato l’estratto conto c’è ancora, nonostante abbia apportato le modifiche da te suggerite.

          Possiamo pensare a qualche altra soluzione?

          Attendo con fiducia.

          Grazie mille.

          Saluti,

          PDA

        Devi essere loggato per rispondere a questa discussione.

        Utilizzando il sito, accetti l'utilizzo dei cookie da parte nostra. maggiori informazioni

        Questo sito utilizza i cookie per fornire la migliore esperienza di navigazione possibile. Continuando a utilizzare questo sito senza modificare le impostazioni dei cookie o cliccando su "Accetta" permetti il loro utilizzo.

        Chiudi