Команда 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