Imansible impostare la posta con VBA quando viene cambiato in Windows 10

Per lungo tempo ho usato una macro per submit un foglio di lavoro di Excel tramite posta elettronica ma quando ho aggiornato a Windows 10 tutto è fallito e non riesco a capire perché. Questo è il codice:

TempFilePath = Environ$("temp") & "\" TempFileName = Range("B2") & " " & Format(Now, "dd-mmm-yy") Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) With Destwb .SaveAs TempFilePath & TempFileName & FileExtStr, _ FileFormat:=FileFormatNum On Error Resume Next ' Change the mail address and subject in the macro before ' running the procedure. With ActiveSheet Set rngTo = .Range("B1") Set rngCc = .Range("B3") Set rngSubject = .Range("B2") Set rngBody = .Range("B2") End With With OutMail .To = rngTo .CC = rngCc .BCC = "" .Subject = rngSubject .Body = "Adjunto para tu revisión y comentarios" .Attachments.Add Destwb.FullName ' You can add other files by uncommenting the following statement. '.Attachments.Add ("C:\test.txt") ' In place of the following statement, you can use ".Display" to ' display the mail. .Send End With On Error GoTo 0 .Close SaveChanges:=False End With ' Delete the file after sending. Kill TempFilePath & TempFileName & FileExtStr Set OutMail = Nothing Set OutApp = Nothing With Application .ScreenUpdating = True .EnableEvents = True 

Il problema è nella parte di .to, .cc, .subject .

  • Grafico Excel non riflette correttamente i dati
  • Convalida di Elenco dati di Excel in Powershell
  • Trovare la prima row vuota, poi scrivere a essa
  • Macro per dividere la string di text nelle proprie colonne - nessuna lunghezza / delimitatore fisso
  • Valori i valori nella colonna E se la data nella colonna F è maggiore di oggi
  • Apri i file di Publisher in una cartella e salva come documenti di Word
  • Se correggo il codice possiamo vedere che le variables sono riempite, ad esempio:

    Il .toMail

    Ma quando invia o visualizza i campi sono vuoti. Inoltre, se riempie manualmente il file .to="a@a.com" funziona.

    Sai cosa può essere?

  • Selezione colonna e foglio di lavoro_Cambia
  • Come creare un PowerPoint con Excel VBA senza visualizzare l'applicazione
  • Come uscire dall'applicazione Excel da VB.NET
  • Esegui un'azione in Excel per each colonna per each gruppo di righe con la stessa etichetta di row
  • Controllare se Excel è in stato sporco
  • Leggere i fogli dati Excel in DataTable o Dataset
  • 3 Solutions collect form web for “Imansible impostare la posta con VBA quando viene cambiato in Windows 10”

    Le properties; / CC / BCC sono i nomi dei destinatari. Queste properties; vengono aggiornate quando l'elemento viene salvato. Stai visualizzando vuoto / CC nella cartella Posta inviata in Outlook?

    È inoltre ansible utilizzare OutMail.Recpients.Add per each destinatario.

    Puoi usare per "A":

     Set _To = OutMail.Recipient.Add(Range("A1")) _To.Type = olTo 

    È ansible utilizzare per "CC":

     Set _To = OutMail.Recipient.Add(Range("A2")) _To.Type = olCC 

    Il mio problema è ora come fissare le altre propietà, Oggetto e SentOnBehalfOnName

    Tomas

    Sono appena andato a Windows 10 da 7. Per qualche ragione devi aggiungere. Valore.

    Esempio 1.

     With ActiveSheet Set rngTo = .Range("B1").Value Set rngCc = .Range("B3").Value Set rngSubject = .Range("B2").Value Set rngBody = .Range("B2").Value End With With OutMail .To = rngTo .CC = rngCc .BCC = "" .Subject = rngSubject End With 

    Ho scritto la mia un po 'diverso. Vedere l'esempio 2.

    Esempio 2

      With OutMail .To = Range("AA22").Value .CC = Range("AB22").Value .Subject = Range("AA21").Value End With 
    Microsoft Office Excel Spreadsheet è il miglior software di Office, Excel VBA e formule Excel rendono il foglio di calcolo più veloce.