Errore di runtime "429": il componente ActiveX non può creare un oggetto

Anonimo
2024-06-18T13:41:16+00:00

Buongiorno a tutti,

ho un problema con la stringa sotto la quale mi da l'errore scritto nella domanda, quale può essere il problema

Private Sub Cmdinvia_Click()

Dim OutApp As Outlook.Application QUI MI DA L'ERRORE DELLA DOMANDA

Dim OutMail As Object

Dim strbody As String

Dim Percorso As String

Dim Filename As String

Dim Allegato As String

ActiveWorkbook.Save

Foglio3.Activate

'Foglio3.Range ("A2;J500")

Foglio3.Copy

ActiveWorkbook.SaveAs "c:\user\desktop\venduto.xlsx"

Set OutApp = CreateObject("Outlook.Application.12")

Set OutMail = OutApp.CreateItem(2)

On Error Resume Next

With OutMail 

    .To = "" 

    .CC = "******@gigi.com"  

    .BCC = "" 

    .Subject = "Venduto della settimana" 

Filename = ActiveWorkbook.Name

Percorso = ThisWorkbook.Path

Allegato = Percorso & "" & Filename

.Attachments.Add Allegato

.Display

End With

On Error GoTo 0 

Set OutMail = Nothing 

Set OutApp = Nothing 

End Sub

Microsoft 365 e Office | Excel | Per il lavoro | Windows

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

Risposta accettata dall'autore della domanda

Anonimo
2024-06-18T15:59:10+00:00

Ci sono degli errori, legati al nome e percorso del file salvato e che, suppongo, debba essere allegato, che non vengono segnalati grazie all'istruzione "On Error Resume Next" ma che poi comportano che l'email non venga creata.

Prova con questa modifica:

Private Sub Cmdinvia_Click() 

   Dim OutApp As Object 

   Dim OutMail As Object 

   Dim strbody As String 

   Dim Percorso As String 

   Dim Filename As String 

   Percorso = "C:\tmp\" 

   Filename = "venduto.xlsx" 

   Application.DisplayAlerts = False 

   Foglio3.Copy 

   With ActiveWorkbook 

      .SaveAs Percorso & Filename 

      .Close 

   End With 

   Set OutApp = CreateObject("Outlook.Application") 

   Set OutMail = OutApp.CreateItem(0) 

   With OutMail 

      .To = "" 

      .CC = "" 

      .BCC = "" 

      .Subject = "Venduto della settimana" 

      .Attachments.Add Percorso & Filename 

      .Display 

   End With 

   Application.DisplayAlerts = True 

   Set OutMail = Nothing 

   Set OutApp = Nothing 

End Sub 

Edit: naturalmente imposta il percorso in cui desideri venga salvato il file excel che poi va allegato all'email

La risposta è stata utile?

2 persone hanno trovato utile questa risposta.
0 commenti Nessun commento

5 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2024-06-18T14:49:36+00:00

    L'item 2 è quello dei contatti.

    Vedi qui:

    https://learn.microsoft.com/it-it/office/vba/api/outlook.olitemtype

    ok ho provato a mettere sia lo 0 che il 6 ma così non mi apre outlook

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-06-18T14:26:56+00:00

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2024-06-18T14:17:48+00:00

    Dichiara come oggetto la variabile

    Dim OutApp As Object

    Visto che, da come si evince dal resto del codice, crei l'oggetto in modalità "late binding".

    Edit:

    consiglierei anche di creare l'oggetto in modo generico e non con riferimento alla "versione"

    Set OutApp = CreateObject("Outlook.Application")

    Grazie casanmaner ora funziona

    ma non riesco a capire perchè mi apre la schermata del contatto e non quella del nuovo messaggio, che è quella che vorrei io

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2024-06-18T14:09:27+00:00

    Dichiara come oggetto la variabile

    Dim OutApp As Object

    Visto che, da come si evince dal resto del codice, crei l'oggetto in modalità "late binding".

    Edit:

    consiglierei anche di creare l'oggetto in modo generico e non con riferimento alla "versione"

    Set OutApp = CreateObject("Outlook.Application")

    La risposta è stata utile?

    0 commenti Nessun commento