Я использую макрос для отправки электронных писем, я использую такой подход: http://learnexcelmacro.com/wp/2011/12/how-to-send-an-email-using-excel-macro-from-gmail-or-yahoo/
Все работает нормально, за исключением того, что после отправки письма Excel зависнет. Это только то, что видно в документе, которые «заморожены». Если я прокручиваю вниз или переключаю лист, он обновит экран.
Например, если я удаляю строку, она удалит строку, но не отобразит ее на экране. Если я переключусь на другой лист и вернусь снова, он покажет, что строка была удалена.
Это какая-то проблема с памятью или чем это может быть вызвано?
Я использую последнюю версию из Windows 10 (я полагаю, 1903 г.) и последней версии MS Excel.
Когда я закрываю и снова открываю Excel, все возвращается в нормальное состояние.
Это код по ссылке :
Sub SendEmailUsingGmail()
On Error GoTo Err
Dim NewMail As Object
Dim mailConfig As Object
Dim fields As Variant
Dim msConfigURL As String
Set NewMail = CreateObject("CDO.Message")
Set mailConfig = CreateObject("CDO.Configuration")
' load all default configurations
mailConfig.Load -1
Set fields = mailConfig.fields
'Set All Email Properties
With NewMail
.Subject = "Test Mail from LearnExcelMacro.com"
.From = "email@gmail.com"
.To = "email2@gmail.com;email3@gmail.com"
.CC = "email4@gmail.com"
.BCC = ""
.textbody = ""
End With
msConfigURL = "http://schemas.microsoft.com/cdo/configuration"
With fields
'Enable SSL Authentication
.Item(msConfigURL & "/smtpusessl") = True
'Make SMTP authentication Enabled=true (1)
.Item(msConfigURL & "/smtpauthenticate") = 1
'Set the SMTP server and port Details
'To get these details you can get on Settings Page of your Gmail Account
.Item(msConfigURL & "/smtpserver") = "smtp.gmail.com"
.Item(msConfigURL & "/smtpserverport") = 465
.Item(msConfigURL & "/sendusing") = 2
'Set your credentials of your Gmail Account
.Item(msConfigURL & "/sendusername") = "email@gmail.com"
.Item(msConfigURL & "/sendpassword") = "********"
'Update the configuration fields
.Update
End With
NewMail.Configuration = mailConfig
NewMail.Send
MsgBox ("Mail has been Sent")
Exit_Err:
Set NewMail = Nothing
Set mailConfig = Nothing
End
Err:
Select Case Err.Number
Case -2147220973 'Could be because of Internet Connection
MsgBox " Could be no Internet Connection !! -- " & Err.Description
Case -2147220975 'Incorrect credentials User ID or password
MsgBox "Incorrect Credentials !! -- " & Err.Description
Case Else 'Rest other errors
MsgBox "Error occured while sending the email !! -- " & Err.Description
End Select
Resume Exit_Err
End Sub