包括库参考代码,以通过excel

时间:2019-02-20 22:16:15

标签: excel vba reference

对于工作,我们有excel文件,我们在其中创建通过电子方式批准的报告,并通过excel模块编码将其另存为PDF。我设置了一个命令按钮,以在报告获得批准后向客户发送电子邮件,以便他们知道何时开始并查看新报告。但是,当他们去单击“ SendEmail”命令按钮时,我需要一种方法对excel进行编码,以在项目经理的计算机上包括适当的引用,这样,当他们处于不同的项目excel中时,他们不必手动进行操作。 / p>

这是我发送电子邮件的代码- 有没有一种方法可以包括对excel进行编码以选择我需要的引用,而不必每次在每台计算机上都手动选择它们? (并且无需包含其他单独的命令按钮) 1

2 个答案:

答案 0 :(得分:3)

不要使用早期绑定-这是从Excel创建没有任何引用的电子邮件的示例:

Sub LateBindingEmailExample()

    Dim mail As Object, msg As Object

    Set mail = CreateObject("Outlook.Application")
    Set msg = mail.createitem(0)

    With msg
        .To = "exampleemail@exampledomain.com"
        .Subject = "Here is the subject"
        .htmlBody = "Here is the body"
        .Display
        '.Send
    End With

    Set msg = Nothing

End Sub

答案 1 :(得分:0)

您要寻找的被称为“ Microsoft Excel的VBA加载项”。 将CPearson website中的定义粘贴到此处:

  

“ XLA加载项”是一种特定类型的工作簿,它提供自定义功能和/或工具,以扩展Excel的基本功能。外接程序可能包含用户定义的函数,这些函数提供特定于您自己感兴趣的领域或业务的计算功能,这些功能超出了Excel的常规计算功能。加载项还可以提供用于处理工作簿中的数据的工具。实际上,可以编写外接程序来执行几乎所有您想要的操作。如果可以手动完成,则可以使用XLA加载项使其自动化。

高级推理如下:

  • 您将工作簿中具有的“发送电子邮件”代码放入新工作簿中,在其中添加所有必要的引用和通用代码
  • 然后,将工作簿另存为外接程序,而不是简单的宏激活的工作簿(扩展名.xlam)。
  • 您要求用户在Microsoft Excel中安装加载项一次:此后,他们将能够在打开的任何工作簿上使用该功能,而无需明确地在其中编写代码它。

Internet上有大量有关如何制作出色加载项的指南,我建议您执行以下操作:

  • 带有Excel功能区按钮的非常基本的加载项(如果您希望他们将ActiveWorkbook作为PDF文件通过电子邮件发送而实际上没有任何代码,则很有用):find it here
  • 有关如何为Excel创建外接程序的链接的完整列表:find it here

请注意,尽管您可以将语言用作VBA(或C#,尽管我更喜欢第一个),但是您可以用VB.NET编写Excel加载项,以具有更多功能和灵活性。 如果您只需要通过电子邮件发送工作簿,并且在VBA中已经有用于该工作簿的代码,则继续使用VBA加载项。但我建议您不要排除C#,因为它的功能非常强大。