Tag: 电子邮件

VBA发送电子邮件,如果价值不是零?

我正在使用以下vba代码在Excel中使用IBM笔记发送电子邮件。 代码工作正常。 我有2个工作表,如下所示: 工作表Sheet1 Supplier Number Email Address 1 Email Address 2 Email Address 3 Email Address 表2(数据) Supplier Number Allocations 1 12 2 0 1 1 我的代码查找供应商编号,并将分配发送给该供应商的电子邮件。 问题是我有电子邮件发送0分配。 如果分配为0,我不希望电子邮件出去。 我的分配在数据(工作表2)的T列中。 我试过这个: If Range("T" & rFoundCell.Row).value < 0 Then 但它会停止发送的所有电子邮件,即使是那些分配的电子邮件。 请有人告诉我我要去哪里错了吗? Sub Send() ActiveSheet.DisplayPageBreaks = False Dim answer As Integer answer = MsgBox("Are you sure […]

使用Excel VBA从Outlook文件夹中提取电子邮件数据

使用基于variables(Excel中的值/命名范围)进入Outlook中指定文件夹的Excelmacros,并从指定文件夹(To:field,Subject,..等)中的电子邮件中提取数据。 除了电子邮件的“主题”和“大小”数据之外的任何部分,代码都可以正常工作。 如果我尝试使用与“主题”或“大小”编码相同的方法拉入“收件人”数据,则会出现“运行时错误438”:对象不支持此属性或方法错误。 以下是我到目前为止, Sub FetchEmailData() Dim appOutlook As Object Dim olNs As Object Dim olFolder As Object Dim olItem As Object Dim iRow As Integer 'Get/create Outlook Application On Error Resume Next Set appOutlook = GetObject(, "Outlook.Application") If appOutlook Is Nothing Then Set appOutlook = CreateObject("Outlook.Application") End If On Error GoTo 0 Set olNs […]

Outlook到Excel VBA覆盖以前的数据

我在论坛上发现了一个excelmacros,但是我无法修复这些问题,因为我真的不知道我在寻找什么来解决这个问题。 首先,我将解释我想要做什么,然后粘贴我正在使用的VBA,以便做我想做的事情。 我希望outlook只是将我的电子邮件的特定部分复制到特定的单元格。 我想要的电子邮件部分将是“000000”或“100000”。 我想让它进入B17并覆盖之前的数据。 目前,我正在将整个电子邮件的数据复制到之前复制的数据行的下面,我似乎无法改变它的位置(现在它进入A1并垂直下降)。 每次收到电子邮件时,Excel都希望打开和closures,这对我正在做的事情并不好。 我希望这个工作表保持打开状态,但只要从outlook中input任何数据后保存即可。 这张表将作为一个远程桌面进行监控,所以人们可以直接进入屏幕,并且说这是最新的信息,而不用去查找它(大多数使用这个远程桌面的人不会是熟悉我们的服务器,所以不知道在哪里find它,以及我们实际上并不希望人们窥探我们的服务器!)。 无论如何,这是代码: Const xlUp As Long = -4162 Sub ExportToExcel(MyMail As MailItem) Dim strID As String, olNS As Outlook.NameSpace Dim olMail As Outlook.MailItem Dim strFileName As String '~~> Excel Variables Dim oXLApp As Object, oXLwb As Object, oXLws As Object Dim lRow As Long strID = MyMail.EntryID […]

将签名添加到电子邮件的结尾

我正在尝试将Excel数据添加到Outlook电子邮件。 这是Outlook电子邮件编辑器中输出的图示。 我试图添加的img应该在Excel内容后面添加。 我尝试了各种方法来添加一个脚注的图像。 我试着添加<img>标签来附加它作为HTML附件,但它没有任何间距的连接。 试着最初使用这两行 .Attachments.Add "C:\Users\Sumit Jain\Pictures\11\city.jpg", olByValue, 0 .HTMLBody = .HTMLBody & "<img src='cid:city.jpg'><br>" 然后我尝试在Outlook中进行默认签名。 代码 .HTMLBody = "<HTML><body><body></HTML>" & .HTMLBody 将Outlook的默认签名添加到顶部,然后添加Excel内容。 参考页面我使用了Link的逻辑 下面是代码 Private Sub CommandButton9_Click() On Error GoTo ERRORMSG Dim OutApp As Object Dim OutMail As Object Dim olInsp As Object Dim wdDoc As Object Dim oRng As Object Set […]

使用c#改变电子邮件中excel附件的版本

我正在尝试发送电子邮件附加Excel的xlsx文件。 我可以在我的笔记本电脑上下载附带的excel文件,而银河手机却无法在iphone上下载。 所以我想降低Excel版本使用https://msdn.microsoft.com/en-us/library/microsoft.office.interop.excel.xlfileformat.aspx 。 为此,当我更改代码 wb.SaveAs("filename.xls", FileFormat: Microsoft.Office.Interop.Excel.XlFileFormat.xlExcel8); 它说SaveAs没有FileFormat参数。 他们说他们需要2个参数。 (streamstream,布尔validation) 所以我不知道在哪里可以把这些文件格式从我的代码更改从xlsx到xls的文件格式。 //set DataTable Name of Excel Sheet data.TableName = "E_Data"; //Create a New Workbook using (XLWorkbook wb = new XLWorkbook()) { //Add the DataTable as Excel Workhseet wb.Worksheets.Add(data); using (MemoryStream memoryStream = new MemoryStream()) { //Save the Excel Workbook to MemoryStream wb.SaveAs(memoryStream); //Convert MemoryStream […]

在函数运行完成后,使用RangetoHtml函数和Excel将不会closures

基本上我创build了一个报告,然后通过电子邮件发送。 我使用Ron B的function将Excel表格粘贴到电子邮件的正文中。 发送电子邮件function完成后,excel不会破坏或closures。 当我结束它的任务,并再次运行它说,远程机器或服务器不会退出。 这可能是因为我没有明确定义对象,但我不知道如何在两个程序之间。 我试图让xlApp公开,但没有工作。 我甚至尝试将它添加到rangetohtml函数,但在它说rng.copy它说有一个对象是必需的。 我尝试添加xlApp.rng.copy或wb.rng.copy或ws.rng.copy。 所以我有下面的范围内的HTML复制rng。 将其添加到临时工作簿并复制到电子邮件中。 它从一个函数调用到另一个,我不知道如何在完成后摧毁Excel会话。 Set rng = xlApp.Selection.SpecialCells(xlCellTypeVisible) Set rng = wb.Sheets(2).Range("A:U").SpecialCells(xlCellTypeVisible) Set rng2 = xlApp.Selection.SpecialCells(xlCellTypeVisible) Set rng2 = wb.Sheets(1).Range("A:U").SpecialCells(xlCellTypeVisible) 现在范围为html说RangetoHtml(rng作为范围),然后在底部它说rng.copy下面,当你debugging它在excel结束任务后,它停在这一行:设置TempWB = Workbooks.Add(1)我知道你应该把XlApp.Workbooks.Add(1),但在Html函数的范围它不被声明为一个对象,但它是在它正在调用的函数。 我不知道下一步该做什么以及如何修复代码。 我发布这两个函数,所以你可以看到代码。 当发送电子邮件时,它会调出电子邮件并将Excel表格粘贴到电子邮件中,但Excel不会closures。 Public Function sendEmailorbetechprealert() Dim appOutLook As Outlook.Application Dim Items As Outlook.Items Dim Item As Object Dim strPath As String Dim strFilter […]

VBA如何将variables插入到电子邮件的正文中

我坚持这个问题,我已经尝试了很多东西,但没有工作。 我想发送这个macros的电子邮件,我可以发送电子邮件,但电子邮件正文不包括名为“许可证”的variables值。 我有columnC上的许可证列表,columnG上的emailE列表和余下的列表。 当我运行这个macros电子邮件是完美的,但许可证不与身体附加,我想发送每个许可证的电子邮件下一行。 任何帮助? Sub SendReminderMail() Dim OutLookApp As Object Dim OutLookMailItem As Object Dim iCounter As Integer Dim MailDest As String Cells(iCounter & "C").Select Dim permit As String permit = Cells(iCounter & "C").Value Set OutLookApp = CreateObject("Outlook.application") Set OutLookMailItem = OutLookApp.CreateItem(0) With OutLookMailItem MailDest = "" For iCounter = 2 To WorksheetFunction.CountA(Columns(5)) If […]

创build一个Excel文件,并通过电子邮件发送,而不保存在计算机上的文件?

是否有可能创build一个excel文件,发送文件后没有通过电子邮件附件保存在计算机上? 现在我创build了Excel文件,并将文件保存在我的计算机中,然后发送带有附加文件的邮件。 它的工作原理,但我想直接发送文件,而不保存在磁盘。 我用这个附件 System.Net.Mail.Attachment attachment; attachment = new System.Net.Mail.Attachment("C:/Users/……."); mail.Attachments.Add(attachment); 谢谢。

重新格式化一些邮件列表取决于一个Excel文件

我想修改一堆邮件列表。 每个邮件列表包含一个电子邮件地址列表(每行一个),我称之为“旧”地址。 对于一个给定的电子邮件地址,旧的与旧的一个被引用.xlsx文件。 如果旧地址未被引用,则意味着它已经过时并且必须被删除。 有时邮件列表中的电子邮件地址已经是好的了。 在这种情况下,它必须保持不变。 我在Python中做到了。 我真的没有问题,但是我意识到这并不是那么明显,所以我想分享我的工作。 首先,因为它看起来像我已经看到的一些职位,这可能是有帮助的; 第二,因为我的代码是绝对没有优化的(我不需要优化它,因为它需要大约0.5s,就像我的情况), 我会好奇,看看你会怎么做优化我的代码10 ^ 8个邮件列表。

在VBA中,如何调用由参考公式填充的单元格的值

每天,我都会得到一个文件列表,我必须根据不同的参数向不同的人发送电子邮件(例如,如果一个文件在X天内没有移动,他们将收到一封电子邮件,如果一个文件在某个里程碑他们会得到不同的电子邮件等) 这就是我所接触到的,这可能不是最好的方法,但是我想避免在VBA中做所有的sorting逻辑,因为我不熟悉它。 首先,将列表和参数粘贴到工作表中,然后为每个自定义电子邮件分别创build一个工作表,使用一些嵌套的IF语句在正确的工作表上显示每个文件,如下所示: =IF(AND(Broker!$Q3="N",PasteExpiringLocks!$D3<>"",PasteExpiringLocks!$B3=TODAY(),VALUE(PasteExpiringLocks!$J3)>29),PasteExpiringLocks!B3,"") 所有这些都是我想要的,每个文件都按照我的意愿分组。 接下来,我想使用VBA为每个工作表上的每个文件发送电子邮件,单个工作表上的每个文件将获得相同的一般电子邮件,除了特定参数(如名称和文件编号)的单元格引用。 Worksheets("DisclosuresCancel").Select For Each cell In Columns("N").Cells.SpecialCells(xlCellTypeConstants) If cell.Value Like "?*@?*.?*" And _ LCase(Cells(cell.Row, "P").Value) = "y" Then Set OutMail = OutApp.CreateItem(0) On Error Resume Next With OutMail .To = Cells(cell.Row, "N").Value .Cc = Cells(cell.Row, "O").Value .Subject = Cells(cell.Row, "D").Value & ", " & Cells(cell.Row, "C").Value & ", Expiring Locks […]