Invio mail



  • Invio mail
    di Pasquale (utente non iscritto) data: 28/12/2016 14:40:31

    Ho un problema apparentemente inspiegabile. In un foglio di un file Excel ho la macro che allego, la quale fa due operazioni: invia un foglio, denominato "Certificato", ad un indirizzo mail prestabilito, in formato pdf; e salva il file, in formato Excel, in una directory prestabilita. La macro funzionava perfettamente fino a ieri; da oggi non mi funziona più, e con il debug rilevo un problema che riguarda la stringa:

    ActiveWorkbook.Sheets("CERTIFICATO").ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
    miaDir & "/" & NomeFile, Quality:= _
    xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
    OpenAfterPublish:=False

    Non so cosa possa essere successo!!.

     
    Sub INVIOMAIL()
    Dim AppMail As Object 'Outlook.Application
    Dim NewMail As Object 'Outlook.Application
    Dim miaDir
    Dim MioWBK As Workbook
    Dim MioSheet As Worksheet
    Dim Nome As String
    Dim Cognome As String
    Dim indirizziTO As String
    Dim IndirizziCC As String
    Dim NomeFile As String
    Dim Oggetto As String
    Dim Testo As String
    
    Set MioWBK = ActiveWorkbook
    Set MioSheet = ActiveWorkbook.Sheets("Certificato")
    miaDir = Range("dati!j3")
    Nome = MioSheet.Range("F12")
    Cognome = MioSheet.Range("B12")
    NomeFile = "Certificato di proroga di_" & Nome & "_" & Cognome & ".pdf"
    
    ActiveWorkbook.Sheets("CERTIFICATO").ExportAsFixedFormat Type:=xlTypePDF, FileName:= _
            miaDir & "/" & NomeFile, Quality:= _
            xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
            OpenAfterPublish:=False
    
    On Error Resume Next
    Set AppMail = GetObject(, "Outlook.Application")
    If Err.Number <> 0 Then
        Err.Clear
        Set AppMail = CreateObject("Outlook.Application")
        AppMail.Session.Logon
    
        If Err <> 0 Then
            MsgBox "Could not load Outlook", vbOKOnly + vbInformation, "Error report"
            End
        End If
    End If
    indirizziTO = MioSheet.Range("d8")
    IndirizziCC = MioSheet.Range("F18")
    Set NewMail = AppMail.CreateItem(0)
    
    Oggetto = "Invio certificato di proroga" & vbCrLf & vbCrLf
    Testo = "Invio quanto in allegato. Saluti. GV " & vbCrLf
    
    
    With NewMail
        .To = indirizziTO
        .CC = IndirizziCC
        .Subject = Oggetto
        .body = Testo & .body
        .Attachments.Add miaDir & "/" & NomeFile
        .Display
    End With
    
    'NewMail.SEND
    
    ActiveWorkbook.SaveAs FileName:=Range("Dati!f3") & Range("Dati!b1").Value & ".xlsm"
    ActiveWorkbook.Close
    Application.Quit
    
    End Sub
    


  • Avviare Macro presente in una altro foglio Excel
    di bellared (utente non iscritto) data: 28/12/2016 14:46:23

    Ciao a tutti,

    sto definendo un codice che mi permetta di aprire un'altra cartella di lavoro e avviare una macro contenuta in essa. Cercando in rete ho trovato il comando:

    Application.Run "'C:Cartel2.XLS'!ThisWorkbook.NameMacro"

    ma non riesco ad adattarla al mio codice in quanto la directory "C:..." io la definisco attraverso il comando ThisWorkbook.Path che non mi permette di inserire l'apice singolo necessario in questo tipo di istruzione.
    Mi sapreste dare un consiglio?
    Intanto vi allego la struttura del codice che sto utilizzando:
     
        Dim MyPath As String    
        Dim MyFileName_TAB As String
        Dim MyFileName_NL As String
    
        MyPath = ThisWorkbook.Path & ""
        MyFileName_TAB = "Tab Pilota v2.xlsm"
        MyFileName_NL = "N_LIFE_v27.xlsb"
    
        Workbooks.Open Filename:=MyPath & MyFileName_NL
        Application.Run MyPath & MyFileName_NL & "!ThisWorkbook.Change_Data"



  • di patel data: 28/12/2016 15:27:47

    bellared
    non puoi accodarti alla discussione aperta da altri con argomento diverso, aprine una tua con titolo adeguato





  • di bellared data: 28/12/2016 15:35:17

    Scusa ero convinto di aver creato una nuova discussione!!