对于工作,我们有excel文件,我们在其中创建通过电子方式批准的报告,并通过excel模块编码将其另存为PDF。我设置了一个命令按钮,以在报告获得批准后向客户发送电子邮件,以便他们知道何时开始并查看新报告。但是,当他们去单击“ SendEmail”命令按钮时,我需要一种方法对excel进行编码,以在项目经理的计算机上包括适当的引用,这样,当他们处于不同的项目excel中时,他们不必手动进行操作。 / p>
这是我发送电子邮件的代码- 有没有一种方法可以包括对excel进行编码以选择我需要的引用,而不必每次在每台计算机上都手动选择它们? (并且无需包含其他单独的命令按钮) 1
答案 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
)。Internet上有大量有关如何制作出色加载项的指南,我建议您执行以下操作:
ActiveWorkbook
作为PDF文件通过电子邮件发送而实际上没有任何代码,则很有用):find it here。请注意,尽管您可以将语言用作VBA
(或C#
,尽管我更喜欢第一个),但是您可以用VB.NET
编写Excel加载项,以具有更多功能和灵活性。
如果您只需要通过电子邮件发送工作簿,并且在VBA中已经有用于该工作簿的代码,则继续使用VBA加载项。但我建议您不要排除C#
,因为它的功能非常强大。