Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

allegare un foglio cartella XL come allegato

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

allegare un foglio cartella XL come allegato

Postdi Making » 17/03/18 18:37

Ciao, vorrei aggiungere a questa macro che mostra la sintesi l'invio di un altro foglio della cartella di nome DGap(che contiene dettagli) come allegato in xl. Potete aiutarmi? Grazie

------------------------------

Codice: Seleziona tutto
Sub N_Invia_Gap()
    Dim OutApp As Object
    Dim OutMail As Object
    Dim indirizzo As String
    Dim oggetto As String
    Dim introduzione As String
    Dim sh As Worksheet

    Set sh = Worksheets("CGap")
    Set OutApp = CreateObject("Outlook.Application")
    Set OutMail = OutApp.CreateItem(0)
   
    indirizzo = ""
    oggetto = ".............."
    introduzione = ".........."

   
    sh.Range("a1:f10").Select
    ActiveWorkbook.EnvelopeVisible = True
   
        With sh.MailEnvelope
          .Introduction = introduzione
          .Item.To = indirizzo
          .Item.cc = "....--"
          .Item.Subject = oggetto
          .Item.Send
       End With
   
    Set sh = Nothing
    Set OutMail = Nothing
    Set OutApp = Nothing
End Sub
Making
Utente Junior
 
Post: 28
Iscritto il: 22/07/15 12:50

Sponsor
 

Re: allegare un foglio cartella XL come allegato

Postdi Anthony47 » 18/03/18 00:10

Mi accorgo che sia adesso che in un caso percedente noi usiamo MailEnvelope per l'invio della mail, ma nella Sub vengono inseriti richiami alla libreria oggetti di Outlook che invece non hanno scopo di esserci; parlo di OutApp e OutMail che infatti dopo essere stati creati non vengono utilizzati.

Quanto al quesito qui posto (inviare anche il foglio con i dettagli), il foglio va trasformato in Workbook, va Salvato e poi puo' essere utilizzato come allegato della mail.
Cio' detto, una macro idonea dovrebbe essere questa:
Codice: Seleziona tutto
Sub N_Invia_Gap()
'Vedi http://www.pc-facile.com/forum/viewtopic.php?f=26&t=109553
Dim indirizzo As String
Dim oggetto As String
Dim introduzione As String
'
Worksheets("CGap").Select
'
indirizzo = ""
oggetto = ".............."
introduzione = ".........."
Range("a1:f10").Select
ActiveWorkbook.EnvelopeVisible = True
With ActiveSheet.MailEnvelope
    .Introduction = introduzione
    .Item.To = indirizzo
    .Item.cc = "....--"
    .Item.Subject = oggetto
    Sheets("CGap").Copy
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\Dettagli.xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWorkbook.Close
    .Item.Attachments.Add ThisWorkbook.Path & "\Dettagli.xlsx"
    Application.DisplayAlerts = True
    Application.Wait (Now + TimeValue("0:00:02"))
    .Item.Send
End With
End Sub

La macro copia il foglio CGap in un nuovo workbook che sara' salvato nella stessa posizione del file principale col nome (sempre uguale) "Dettagli.xlsx"
Questo file viene allegato alla mail in preparazione che infine viene spedita.

Fai sapere...
Avatar utente
Anthony47
Moderatore
 
Post: 17649
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: allegare un foglio cartella XL come allegato

Postdi Making » 18/03/18 18:21

Grazie, la macro si blocca al passo "Sheets("CGap").Copy", run time error '1004', Copy method of Worksheet class failed. Qual'è il problema?
Making
Utente Junior
 
Post: 28
Iscritto il: 22/07/15 12:50

Re: allegare un foglio cartella XL come allegato

Postdi Anthony47 » 18/03/18 23:08

Prova a fare l'operazione con comandi da tastiera, magari hai un messaggio che ti illumina:
-tasto dx sul tab col nome foglio, scegli Sposta o copia; spunta Crea una Copia, scegli "Sposta alla cartella = (nuova cartella)"; Ok.

Quale versione Office usi?
Avatar utente
Anthony47
Moderatore
 
Post: 17649
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: allegare un foglio cartella XL come allegato

Postdi Making » 19/03/18 11:31

office 2010, scusa ma non capisco il tuo suggerimento
Making
Utente Junior
 
Post: 28
Iscritto il: 22/07/15 12:50

Re: allegare un foglio cartella XL come allegato

Postdi Anthony47 » 19/03/18 14:23

Quando la macro dice che il foglio non puo' essere copiato allora
A) ferma la macro (Menu /Esegui /Ripristina; oppure tasto "Ripristina")
B) elimina "l'envelope della mail" (non so se c'e' un comando, fallo quindi dalla finestra vba:
-contr-g per aprire la "finestra Immediata"
-scrivi il comando ActiveWorkbook.EnvelopeVisible = False e premi Enter
C) Prova ora, con i comandi che ti ho gia' indicato, a duplicare il foglio CGap in un nuovo workbook (non e' necessario poi salvarlo).

Insomma vorrei sapere se da interfaccia normale l'operazione che al vba e' vietata viene invece eseguita.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17649
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "allegare un foglio cartella XL come allegato":


Chi c’è in linea

Visitano il forum: Nessuno e 18 ospiti