Tag: 电子邮件

Simpe VBA sub:函数启动错误,但不是之后

我有一个简单的function来select一个固定的范围,并准备电子邮件,这工作…但只有在第二次运行function后。 这个问题在我打开Excel电子表格后立即发生,然后我会“结束”脚本并重新运行它,然后就像魅力一样。 非常感谢您的帮助,非常想了解错误发生的原因。 错误: 运行时错误1004:工作表类的select方法失败。 在debugging时,“.Parent.Select”这一行然后从下面的脚本中突出显示。 Sub Select_Range_now() Dim Sendrng As Range Dim EndOfLine As Integer EndOfLine = Find_First() – 1 Set Sendrng = Worksheets("Output").Range("B1:I" & EndOfLine) ActiveWorkbook.EnvelopeVisible = True With Sendrng .Parent.Select .Select With .Parent.MailEnvelope With .Item .SentOnBehalfOfName = "groupemail@someemail.com" .To = "someothergroupemail@someemail.com" .CC = "" .Subject = "Report" End With End With End […]

从单元格引用插入dynamic超链接,并将其放置在复制范围之上

我正在运行通过电子邮件分发的报告。 在电子邮件中是指向报告的超链接以及从其中复制出来的一系列单元格作为报告内容的快照。 我试图自动化,发现一些VBA,但我不是一个程序员,不能根据我的需要进行修改。 下面的VBA让我大部分的方式,但有两个缺点: 1)我需要超链接指向我在电子邮件中引用的特定文件,每天更改(即创build一个唯一的工作簿)。 下面使用一个静态的超链接。 我试图找出一种方法来从单元格引用中获取超链接。 2)当从Excel中复制单元格的超链接和范围到电子邮件时,我需要超链接下面的单元格。 下面将超链接的范围。 我想保留在下面的VBA中引用工作表来派生电子邮件的方法。 部署在分发的其他报告上似乎很容易。 Sub CreateMail() Dim rngSubject As Range Dim rngTo As Range Dim rngCc As Range Dim rngBody As Range Dim objOutlook As Object Dim objMail As Object Set objOutlook = CreateObject("Outlook.Application") Set objMail = objOutlook.CreateItem(0) With ActiveSheet Set rngTo = .Range("B1") Set rngCc = .Range("B3") […]

用附件发送电子邮件的VBA循环也包括所有以前迭代的附件

我需要在电子邮件正文中的工作簿中发送包含一系列单元格的电子邮件,以及Excel 2007中的每个收件人的其他附件。 我有困难与下面的代码。 除了添加附件外,一切都按预期工作。 当我开始循环发送带有各自附件的邮件时,它包含了所有以前的迭代附件。 也就是说电子邮件是这样发送的: 电子邮件1 – 附件1 电子邮件2 – 附件1,附件2 电子邮件3 – 附件1,附件2,附件3; 等等。 Sub Send_Range() Dim x As Integer Dim i As Integer x = Sheets("MarketMacro").Range("M1").Text 'A count of how many emails to send. i = 2 Do ' Select the range of cells on the active worksheet. Sheets("Summary").Range("A1:M77").Select ' Show the […]

在Outlook电子邮件中粘贴Excel表格:它回头看

我已经能够运行以下代码将Excel范围复制到Outlook电子邮件中(使用Ron de Bruin提供的代码: Sub SendEMail(SheetName As String, EmailBody As String, EmailSubject As String, MyAttachment As String) ' You need to use this module with the RangetoHTML subroutine. ' Works in Excel 2000, Excel 2002, Excel 2003, Excel 2007, Excel 2010, Outlook 2000, Outlook 2002, Outlook 2003, Outlook 2007, and Outlook 2010. Dim rng As Range […]

Application.OnTime运行时不应该

我已经编写了一个脚本来生成一个Lotus Notes电子邮件,以便以特定的时间间隔发布数据。 这个脚本是Macro2 – Macro5。 macros2 – macros5都是一样的,但我已经复制了不同的潜艇下的脚本来尝试和诊断我的问题。 我遇到的问题有时是在下午8点,会产生4封电子邮件。 一个电子邮件将被Macro 5正确触发,但其他电子邮件在晚上8点发送已经被Macro 2触发。我知道这是因为我已经添加了一个额外的行到每个macros,以指示在电子邮件macros生成它。 我正在使用以下来调用这些subs: 在“这本练习册”中我有: Private Sub Workbook_Open() Call DailyAM Call DailyPM End Sub 在模块1中: Sub DailyAM() Application.OnTime TimeValue("06:00:00"), "Macro2" Application.OnTime TimeValue("10:00:00"), "DailyAM" End Sub Sub DailyPM() Application.OnTime TimeValue("12:01:00"), "Macro3" Application.OnTime TimeValue("16:00:00"), "Macro4" Application.OnTime TimeValue("20:00:00"), "Macro5" Application.OnTime TimeValue("23:59:00"), "DailyPM" End Sub 真的很困惑,为什么发生这种情况。 相当肯定这个问题与macros2-5没有任何关系,但这里只是为了以防万一: Sub Macro5() Windows("Silo […]

Excel 2010将范围和图片粘贴到Outlook中

我很难找出这个问题。 我可以粘贴一个范围没有问题的HTML,但在一些沟通,我们希望超过范围作为一个图片,而不是。 我可以创build一个范围并将其保存为图片,但是我无法弄清楚如何在创build后将图片过滤到Outlook中。 如果您只是在寻找能够复制范围并将其粘贴到Outlook的代码,那么效果很好。 所有电子邮件数据都是在名为Mail的选项卡上引用单元格,因此只需将邮件选项卡和macros复制并粘贴到任何工作簿中,然后通过编辑邮件选项卡上的字段并不更改macros来添加电子邮件自动化。 如果使用此代码,请确保引用Microsoft Outlook xx对象库(在VBA窗口中:工具 – 参考 – Microsoft Outlook xx对象库)。 我需要更进一步,将范围变成图片并粘贴到电子邮件中。 我可以附加它,但我不能将它插入到身体,这是我所需要的。 我已经看了几个例子,包括Ron DeBruins网站上的例子,但是我还没能得到任何一个工作。 我正在使用Office 2010 x64运行Windows 7 x64。 这里是我正在运行的代码粘贴范围。 Option Explicit Sub Mail_AS_Range() ' Working in Office 2010-2013 Dim OutApp As Outlook.Application Dim OutMail As Outlook.MailItem Dim strbody As String On Error Resume Next Dim sh As Worksheet Set sh […]

RichText电子邮件正文中的Excel VBA URL超链接

有谁知道如何创build一个RichText电子邮件正文,它有一个URL书签呢? 例如,这里是我的代码: Sub SendEmailUsingWord() Dim olApp As Outlook.Application Dim olEmail As Outlook.MailItem Dim olInsp As Outlook.Inspector Dim wdDoc As Word.Document Dim strBody As String ' The body of the message, want to create a hyperlink to (eg) http://www.google.com but ' still display HERE. ' In HTML it would be <a href="http://www.google.com">HERE</a> ' But I want […]

Excel VBA为多个To,CC和BCC撰写电子邮件

我正在尝试创build发送给多个人的单个电子邮件。 现在我有一列的电子邮件地址和右侧的“发送到”,“抄送”或“密件抄送”checkbox。 Emails address: B3 – B13 (this list will expand, i may end up using lastrow) "True/False" To: D3- D13 "True/False" CC: F3- F13 "True/False" BCC: H3- H13 Send if TRUE, skip if FALSE. 我确信这很简单,而且我已经看了,我被卡住了。 感谢您的回复。

Excel – 在VBA中使用有效值匹配占位符

我想创build一个可编辑的电子邮件模板,每个人都可以更新电子邮件,并分配给哪个用户他们想要发送哪个电子邮件。 电子邮件模板来自另一个工作表。 每个模板都有自己的电子邮件ID。 我想匹配模板和包含所有需要的信息的表。 因此,无论何时用户input电子邮件ID,它都会将该值与电子邮件模板中的占位符进行映射。 到目前为止,这里是我一直在使用电子邮件模板。 但现在它只是抓住了单元格的所有价值。 无论何时添加列或行,这都是易碎的。 Sub Mail_with_outlook2() Dim mainWB As Workbook Dim otlApp As Object Dim olMail As Object Dim olMailItem As Object Dim Doc As Object Dim SendID Dim CCID Dim Subject Dim Body Dim WrdRng As Object Dim result Dim i As Long Set otlApp = CreateObject("Outlook.Application") Set olMail = […]

从Excel发送Outlook电子邮件,将最后一行的范围文本放在主体消息中

我想从我的Excel电子表格发送一封电子邮件到一个包含A列到G列最后一行的范围内的小消息。 我试图添加我的最后一行范围到下面的代码没有成功。 你能帮我吗? Sub Mail_LastRowRange_Outlook() Dim OutApp As Object Dim OutMail As Object Dim strbody As String Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) strbody = "Thanks for your help" & '**I Would like to insert_ my last row range from column A to G in here** On Error Resume Next With OutMail .To […]