以前用于分配电子邮件地址的工作代码在 Windows 10 升级中产生错误:对象 '_Mailitem' 的方法 'To' 失败
Previously working code to assign email address generates error in Windows 10 upgrade: Method 'To' of object '_Mailitem' failed
这一直有效,直到 Windows 10 升级。
我在尝试从 Excel:
发送电子邮件时收到此错误
Run-time error '-2147417851 (80010105)': Method 'To' of object'_MailItem' failed
导致此问题的代码是:
Dim aOutlook As Object
....
Set aOutlook = CreateObject("Outlook.Application")
Set aEmail = aOutlook.CreateItem(0)
aEmail.To = "emailaddress"
我被告知这是因为我正在绑定 'later',这是一个错误(请参阅 here)。要绑定 'early',我尝试了以下方法:
Dim aOutlook As Outlook.Application
Dim aMail As Outlook.MailItem
Set aOutlook = New Outlook.Application
Set aEmail = aOutlook .CreateItem(olMailItem)
aEmail.To = "emailaddress"
aEmail.Display
现在我得到错误:
Microsoft Office Excel is waiting for another application to complete an OLE action.
在给出与最初相同的错误之前。
这有点奇怪,但答案在这里。在我的简单问题中,我输入:
aEmail.To = "emailaddress"
但我实际上有
aEmail.To = Cells(IntCurrentRow, 3)
其中 Cells(IntCurrentRow, 3) 包含电子邮件地址。这似乎是问题所在。当我输入以下内容时它起作用了。
emailAddress = Cells(IntCurrentRow, 3)
aEMail.To = emailAddress
我不确定为什么它不直接获取地址,但更改它已经解决了问题。感谢所有的建议。
我正在做类似的事情,但从表单上的文本框填充。
oMail.To = frmMain.txtRecepients
无效。但,
oMail.To = frmMain.txtRecepients.value
做到了。
我想知道它是不是试图将 .to 设置为对象而不是对象的值。明确告诉它使用该值似乎已经修复了它。
这一直有效,直到 Windows 10 升级。
我在尝试从 Excel:
发送电子邮件时收到此错误Run-time error '-2147417851 (80010105)': Method 'To' of object'_MailItem' failed
导致此问题的代码是:
Dim aOutlook As Object
....
Set aOutlook = CreateObject("Outlook.Application")
Set aEmail = aOutlook.CreateItem(0)
aEmail.To = "emailaddress"
我被告知这是因为我正在绑定 'later',这是一个错误(请参阅 here)。要绑定 'early',我尝试了以下方法:
Dim aOutlook As Outlook.Application
Dim aMail As Outlook.MailItem
Set aOutlook = New Outlook.Application
Set aEmail = aOutlook .CreateItem(olMailItem)
aEmail.To = "emailaddress"
aEmail.Display
现在我得到错误:
Microsoft Office Excel is waiting for another application to complete an OLE action.
在给出与最初相同的错误之前。
这有点奇怪,但答案在这里。在我的简单问题中,我输入:
aEmail.To = "emailaddress"
但我实际上有
aEmail.To = Cells(IntCurrentRow, 3)
其中 Cells(IntCurrentRow, 3) 包含电子邮件地址。这似乎是问题所在。当我输入以下内容时它起作用了。
emailAddress = Cells(IntCurrentRow, 3)
aEMail.To = emailAddress
我不确定为什么它不直接获取地址,但更改它已经解决了问题。感谢所有的建议。
我正在做类似的事情,但从表单上的文本框填充。
oMail.To = frmMain.txtRecepients
无效。但,
oMail.To = frmMain.txtRecepients.value
做到了。
我想知道它是不是试图将 .to 设置为对象而不是对象的值。明确告诉它使用该值似乎已经修复了它。