我今天来找你寻求建议。我在工作中使用excel 2010,我正在使用VBA自动化它和我的Outlook帐户。我有一个包含多个工作表的工作簿,用于跟踪存储在多个建筑物中的各种资产的权重。我现在设置为每当用户按下命令按钮时它将打开outlook,复制范围,将其粘贴到HTML中,并填写To / CC / BCC / Subject行,但是我无法弄清楚如何在需要更新多个建筑物时将单独的工作表上的多个范围粘贴到SAME电子邮件中。我可以在星期一发布代码,因为我现在无法访问它。基本上我需要知道的是什么命令(如OLinspector,getobject等)将使程序识别Outlook电子邮件实例是否已经运行并粘贴x用户期望的其他数据。这不需要同时进行,因为用户必须更新多个工作表并按下按钮将数据保存到数据库。
答案 0 :(得分:0)
您无需“检测”任何内容。这会让事情变得更复杂。您可以采用的最佳选择是使用Ron de Bruin用于Excel-Outlook集成的非常有用和非常有名的方法,尤其是pasting ranges into an e-mail's body。
当然,你有自己的代码,但如果它不是基于或类似于上面发布的代码,你有一个缺点:粘贴到电子邮件的正文并不是一个很好的方法。将.HTMLBody
设置为转换为HTML的范围要好得多。
我将完成上述过程的一种方法很简单:我将编写一个单独的子程序,创建一个虚拟工作表,粘贴所有范围/表格/单元格/你有什么,并将其提供给发送上面的子程序。这样,在将它们转换为HTML并用作电子邮件正文之前,它们都按照我想要的方式整合在一个区域中。
如果这对您有任何帮助,请告诉我们。 :)