代码之家  ›  专栏  ›  技术社区  ›  Miserable Variable

VBA宏是函数还是子函数?

  •  0
  • Miserable Variable  · 技术社区  · 4 年前

    我导入了一个 .bas https://gallery.technet.microsoft.com/office/Save-attachments-from-5b6bf54b 但是实现了这个功能 SaveAttachmentsFromSelection 未显示为宏,例如在功能区菜单“开发人员/宏”中

    在我把它换成一个 subroutine

    0 回复  |  直到 4 年前
        1
  •  0
  •   0m3r    4 年前

    “宏”对话框仅列出不带参数的非专用子例程。

    Option Explicit
    ' this will show
    Public Sub Public_Example()
        Debug.Print "Hello Public " ' print on immediate window
    End Sub
    
    ' and this will show
    Sub Public_Example()
        Debug.Print "Hello Public " ' print on immediate window
    End Sub
    

    如果您声明子例程Private,则返回任何值或 不是 带有参数的子例程将不会显示在“宏”对话框中

    示例

    Option Explicit
    ' this will not show
    Public Sub Public_Example(Miserable As Integer)
        Debug.Print "Hello Private " ' print on immediate window
    End Sub
    
    
    ' this will not show
    Private Sub Private_Example()
        Debug.Print "Hello Private " ' print on immediate window
    End Sub
    
    
    ' this will not show
    Public Function Public_Example()
        Debug.Print "Hello Private " ' print on immediate window
    End Function
    
    
    ' this will not show
    Private Function Private_Example()
        Debug.Print "Hello Private " ' print on immediate window
    End Function
    
    推荐文章