intero foglio in una variabile



  • intero foglio in una variabile
    di Max (utente non iscritto) data: 02/10/2017 10:52:24

    Buongiorno a tutti.
    è possibile passare un intero foglio ad una variabile?
    premessa: ho un foglio che viene salvato automaticamente in pdf e inviato automaticamente come allegato ad una mail(e va benissimo).
    domanda: avrei la necessità di passare lo stesso foglio, o il file pdf generato, al corpo della mail, (mymail.Body = (foglio "comunicazione").

    come faccio?

    Grazie
     
    ' parte del codice
    ' inizio generazione del percorso
    ome dei 2 file contenenti due diversi fogli compilati automaticamente
    
        Dim FileSystemObj
        file = ActiveWorkbook.Path & "" & nComuneres & "" & nCodFisc
        Set FileSystemObj = CreateObject("Scripting.FileSystemObject")
        If Not FileSystemObj.folderExists(file) Then
            FileSystemObj.CreateFolder file
            MsgBox "E' stata creata la nuova cartella" & file, vbInformation, "Avviso"
        Else
            MsgBox "Esiste già la cartella" & file, vbInformation, "Avviso"
        End If
    
    '	primo file contenente il foglio "comunicazione"
    
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nPath & nFfile & ".pdf" _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=True
        Sheets("F24 Fax").Select
    
    '	secondo file contenente il foglio "F24 Fax"
    
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=nPath & nF24file & ".pdf" _
            , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
            :=False, OpenAfterPublish:=True
        Sheets("Comunicazione").Select
    
    ' fine generazione del percorso
    ome dei 2 file contenenti due diversi fogli compilati automaticamente
    
    
        Set myOutlook = CreateObject("Outlook.Application")
        Set mymail = myOutlook.CreateItem(olMailItem)
        mymail.Subject = "F24 precompilato"
        
        
        mymail.Body = "Gentile " & nTitolo & " " & nCogn & ", allegata a questa e-mail, troverà la comunicazione che ha richiesto insieme al mod 24 precompilato.  Distinti saluti."
        
        mymail.Attachments.Add nPath & nF24file & ".pdf"
        mymail.Recipients.Add ("indirizzo@destinatario.it")
        mymail.Send
    
    . il codice continua ed effettua l'archiviazione della comunicazione



  • di alfrimpa data: 02/10/2017 12:41:44

    Ciao Max

    E' ovviamente possibile memorizzare in una variabile (oggetto) un foglio di lavoro con le istruzioni che vedi sotto.

    Ma non credo sia questo ti serva se vuoi mettere nel corpo di una mail un intervallo di celle (non certo l'intero foglio).

    Per far questo ti rimando ad un link

    h t t p s://www.rondebruin.nl/win/s1/outlook/bmail2.htm

    Alfredo
     
    Dim sh As Worksheet
    Set sh = Worksheets("Foglio1")