Excel 传递变量会产生错误代码“quot;ByRef参数类型不匹配“;因为&引用;
我正在尝试创建一封个性化的群发电子邮件,并获取错误代码 “邮件\正文\邮件”的“ByRef参数类型不匹配” 行内Excel 传递变量会产生错误代码“quot;ByRef参数类型不匹配“;因为&引用;,excel,vba,outlook,Excel,Vba,Outlook,我正在尝试创建一封个性化的群发电子邮件,并获取错误代码 “邮件\正文\邮件”的“ByRef参数类型不匹配” 行内邮件\u正文\u消息 正如@BigBen所提到的,在代码顶部添加Option Explicit。这将迫使您声明变量 Imp注意事项:仅仅声明它们并不能解决您的问题。您需要将它们声明为正确类型 在Sub sendmail()中,参数mail\u body声明为String。因此,在简单语言中,在传递变量之前,需要将其声明为String。这两个例子会让你明白 样本A Option Exp
邮件\u正文\u消息
正如@BigBen所提到的,在代码顶部添加
Option Explicit
。这将迫使您声明变量
Imp注意事项:仅仅声明它们并不能解决您的问题。您需要将它们声明为正确类型
在Sub sendmail()
中,参数mail\u body
声明为String
。因此,在简单语言中,在传递变量之前,需要将其声明为String
。这两个例子会让你明白
样本A
Option Explicit
Sub Sample()
Dim mail_body_message
mail_body_message = "Blah"
SendEmail mail_body_message
End Sub
Sub SendEmail(mail_body As String)
MsgBox mail_body
End Sub
样本B
Option Explicit
Sub Sample()
Dim mail_body_message As String '<~~ Declaring it as the RIGHT TYPE
mail_body_message = "Blah"
SendEmail mail_body_message
End Sub
Sub SendEmail(mail_body As String)
MsgBox mail_body
End Sub
选项显式
子样本()
Dim mail_body_message As String'第一步:将Option Explicit
添加到模块顶部并声明所有变量。尝试Sheet1.范围(“A”&行号)。值
Option Explicit
Sub Sample()
Dim mail_body_message As String '<~~ Declaring it as the RIGHT TYPE
mail_body_message = "Blah"
SendEmail mail_body_message
End Sub
Sub SendEmail(mail_body As String)
MsgBox mail_body
End Sub