Errore macro generata con Copilot

Anonimo
2024-12-05T20:25:15+00:00

Salve ho la seguente macro generata con copilot lo scopo è generare per il foglio di lavoro "Ordine Italfarmaco" un file pdf salvandolo sul desktop con il nome del contenuto della cella C3. 

Inoltre inviare per mail il file pdf creato all'indirizzo ___@___.___.

Ma ottendo un errore di run-time 9 e indice non incluso nell'intervallo.

Cosa significa?

Link per il file excel https://1drv.ms/x/c/41b5375ba47896d0/EQ3pnL7xyKVLqcD3\_N2UcxsBPsKlOTSXli\_b1zIBtQGSbA?e=2rpPu2

Grazie.

Sub SalvaPDFEInviaMail()

Dim NomeFile As String 

Dim PDFPath As String 

Dim Oggetto As String 

Dim Destinatario As String 

Dim CorpoEmail As String 

Dim DesktopPath As String 

Dim ws As Worksheet 

' Imposta il foglio di lavoro "Ordine Italfarmaco" 

Set ws = Sheets("Ordine Italfarmaco") 

' Controlla se la cella C3 esiste e non è vuota 

If ws.Range("C3").Value = "" Then 

    MsgBox "La cella C3 è vuota. Si prega di inserire un nome per il file nella cella C3.", vbExclamation 

    Exit Sub 

End If 

' Prende il valore della cella C3 come nome del file PDF 

NomeFile = ws.Range("C3").Value & ".pdf" 

DesktopPath = Environ("USERPROFILE") & "\Desktop\" 

PDFPath = DesktopPath & NomeFile 

' Salva il foglio come PDF 

ws.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDFPath, Quality:=xlQualityStandard 

' Configura l'email 

Oggetto = "File PDF Allegato" 

Destinatario = "\_\_\_@\_\_\_.\_\_\_" 

CorpoEmail = "Ecco il file PDF richiesto." 

' Invia l'email con il file PDF come allegato 

Call Mail\_PDF(PDFPath, Oggetto, Destinatario, CorpoEmail) 

End Sub

Sub Mail_PDF(PDFPath As String, Oggetto As String, Destinatario As String, CorpoEmail As String)

Dim OutApp As Object 

Dim OutMail As Object 

' Inizializza l'applicazione di posta 

Set OutApp = CreateObject("Outlook.Application") 

Set OutMail = OutApp.CreateItem(0) 

' Imposta i dettagli dell'email 

With OutMail 

    .To = Destinatario 

    .Subject = Oggetto 

    .Body = CorpoEmail 

    .Attachments.Add PDFPath 

    .Send 

End With 

' Pulisci le variabili 

Set OutMail = Nothing 

Set OutApp = Nothing 

End Sub

Microsoft 365 e Office | Installare, riscattare, attivare | Altro | Altro

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

4 risposte

Ordina per: Più utili
  1. Anonimo
    2024-12-07T08:17:02+00:00

    Ringrazio CASANMANER per la semplice risposta che ha risolto il mio problema.

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-12-06T14:56:27+00:00

    Perdona Zenobia.Z - MSFT,

    ma il problema gli è stato già segnalato da me.

    Non comprendo il motivo per il quale il post sia stato spostato dalla sua sede naturale (Excel) in "Microsoft 365 e Office / Altro / Sconosciuto / Fuori portata".

    Il problema riguarda il VBA di Excel, quindi sicuramente specifico per Excel e non mi sembra assolutamente fuori portata.

    Senza polemica, eh! Ma a volte mi sembra che agiate un po' a caso.

    Buona giornata

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2024-12-06T09:06:12+00:00

    La risposta è stata tradotta automaticamente. Di conseguenza, potrebbero esserci errori grammaticali o parole insolite.

    Caro NAPOLETANO ADRIANO,

    Benvenuto nella community Microsoft.

    Comprendiamo che viene visualizzato un errore durante l'esecuzione del VBA generato.

    In base alla descrizione, si desidera utilizzare VBA per generare un file PDF e inviarlo direttamente tramite e-mail, ma si verifica un errore. In genere, l'errore 9 è dovuto al fatto che il foglio di lavoro a cui il codice tenta di accedere non esiste o le informazioni sull'elemento dati non sono corrette.

    Ma i problemi relativi al codice macro richiedono informazioni tecniche più professionali per aiutarti a risolverli. Ti consigliamo di provare a cercare aiuto in Microsoft Learn (solo in inglese), dove sono disponibili più esperti in campi correlati che possono fornirti soluzioni migliori.

    È progettato per supportare utenti avanzati come te. Molti utenti preferiscono porre domande e ottenere risposte più professionali attraverso questa sezione.

    Ecco un link al forum in cui puoi sollevare situazioni specifiche e condividere le tue idee per risolvere i problemi.

    Gestione di Excel - Domande e risposte Microsoft (solo in inglese)

    Terremo questo problema in archivio nel caso in cui i nostri fantastici volontari abbiano idee per te.

    Migliori saluti

    Zenobia.Z | Specialista del supporto della community Microsoft

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2024-12-06T08:34:17+00:00

    Ciao,

    hai uno spazio alla fine del nome del foglio "Ordine Italfarmaco ".

    O elimini lo spazio nel nome del foglio o lo aggiungi al testo che assegni alla variabile "Ws".

    ciao

    La risposta è stata utile?

    0 commenti Nessun commento