如何在 VBA 中调用字符串中的函数

Posted

技术标签:

【中文标题】如何在 VBA 中调用字符串中的函数【英文标题】:How to call a Function in a string in VBA 【发布时间】:2013-02-12 05:51:27 【问题描述】:

我有一个 MS Access 数据库,我想在其中调用一个函数,该函数在字符串中包含今天的日期,如下所示。我正在尝试将今天的日期放在将要创建的新电子邮件的主题行和电子邮件正文中。有什么想法可以实现吗?

Private Sub Command_Click()

Dim objOutlook As Outlook.Application
Dim objEmail As Outlook.MailItem
Dim ThisDay As Date

ThisDay = Format(Now, "mm/dd/yy")    

Set objOutlook = CreateObject("Outlook.application")
Set objEmail = objOutlook.CreateItem(olMailItem)

With objEmail
    .To = ""
    .CC = ""
    .Subject = "Daily Email Processed " *(Thisday)
    .Body = "Hi," + vbNewLine + vbNewLine + vbNewLine + "Please find below the number of Emails processed for the  " + vbNewLine + vbNewLine + "Email Count = " + vbNewLine + "O Count = "
    .Attachments.Add ""
    .Attachments.Add ""
    .Display        
End With

Set objOutlook = Nothing

End Sub

【问题讨论】:

Format() 返回一个字符串,所以Dim ThisDay As String。您对该代码还有其他问题吗?你有错误吗? 好的,谢谢,但是我将如何在 .Subject = "Daily email count" & Thisday& 中这样称呼它或什么? 通常用主题、正文、收件人等组成mailto://.. url,并让操作系统解析邮件客户端以在发送前编辑邮件。请参阅email.about.com/od/mailtoemaillinks/a/mailto_elements.htm,并确保在添加到 url 之前UrlEncode 所有数据。 因为我在 ms 访问中执行此操作,我很抱歉,但我不知道如何按照您告诉我的方式进行操作 :(@ja72 【参考方案1】:

您打算将Format() 表达式存储在您的ThisDay 变量中。 Format() 返回一个字符串,所以声明要匹配的变量。

'Dim ThisDay As Date
Dim ThisDay As String

将格式化的日期字符串加载到 ThisDay 后,您可以将其连接到主题行的其余部分。

'.Subject = "Daily Email Processed " *(Thisday)
.Subject = "Daily Email Processed " & Thisday

【讨论】:

以上是关于如何在 VBA 中调用字符串中的函数的主要内容,如果未能解决你的问题,请参考以下文章

Excel中的VBA如何调用Java呀?

如何在工作表中调用 VBA 函数?

vba如何调用dll中的过程函数或变量

ExcelVBA如何调用API DLL(Delphi生成)

如何用函数或VBA调用(引用)另外一个工作表的数据

如何在 VBA 的另一个函数中调用我在 VBA 中创建的函数?