vba - 运行命令未显示 VBA 脚本是否需要将任何参数传递给它
问题描述
我有一个 Outlook VBA 脚本,但如果要向它传递任何参数,它就不会运行。
这不起作用:
Public Sub SaveOutlookAttachmentsToDisk(MItem As Outlook.MailItem)
Dim oOutlookAttachment As Outlook.Attachment
Dim sSaveAttachmentsFolder As String
sSaveAttachmentsFolder = "\Document\FTP\"
For Each oOutlookAttachment In MItem.Attachments
oOutlookAttachment.SaveAsFile sSaveAttachmentsFolder & oOutlookAttachment.DisplayName
Next
End Sub
这有效:
Public Sub SaveOutlookAttachmentsToDisk()
End Sub
解决方案
run 命令仅在代码可以独立运行的情况下才有用。让其他代码出现在对话框中是没有意义的。
要使用需要参数的代码,在本例中为 mailitem 对象,您首先需要一个 mailitem。
您可以像这样从按钮运行间接使用参数的代码。
Option Explicit
Sub runCodeThatRequiresParameter1()
Dim currItem As mailItem
' First open an appropriate mailitem
Set currItem = ActiveInspector.currentItem
' Pass item to SaveOutlookAttachmentsToDisk
SaveOutlookAttachmentsToDisk currItem
End Sub
Sub runCodeThatRequiresParameter2()
Dim currItem As mailItem
' First select an appropriate mailitem
Set currItem = ActiveExplorer.Selection(1)
' Pass item to SaveOutlookAttachmentsToDisk
SaveOutlookAttachmentsToDisk currItem
End Sub
推荐阅读
- ember.js - ember cookie 与服务器 cookie
- c++ - 代码中的 for 循环是如何工作的?
- javascript - 高图表中没有转义字符的Json字符串
- hive - 从文件中直线运行查询
- scheduled-tasks - Java EE 7 在不同的环境/层中调度任务
- python - 如何使用 Beautiful Soup 在 Python 中复制和替换元素及其子元素?
- java - 如何制作一种方法来检查一个事件是否与一个人注册的另一个事件重叠?
- angular - Angular 4相同的路线不同的组件与警卫
- react-native - 平面列表 android 动画无法按预期工作
- puppeteer - 如何在 puppeteer 中设置标头只是主页请求而不是所有请求