Tag: outlook

C#我想附加一个工作簿到Outlook电子邮件并发送之前预览

我有一段代码从datagridview创build工作簿。 点击一个button后,如果不将文件保存到磁盘上,我希望能够将该工作簿附加到Outlook中,然后我可以select将其发送给哪个人。 这是我想要达到的结果: 但是,当我运行代码时,电子邮件打开,但没有附件,只有这个错误消息: 这是我的代码: private void attachEmail() { Microsoft.Office.Interop.Excel._Application excel = new Microsoft.Office.Interop.Excel.Application(); Microsoft.Office.Interop.Excel._Workbook workbook = excel.Workbooks.Add(Type.Missing); Microsoft.Office.Interop.Excel._Worksheet worksheet = null; Outlook.Application outlookApp = new Outlook.Application(); Outlook.MailItem mailItem = (Outlook.MailItem)outlookApp.CreateItem(Outlook.OlItemType.olMailItem); try { worksheet = workbook.ActiveSheet; worksheet.Name = "Sheet1"; for (int i = 0; i < mydataGridView.Columns.Count; i++) { worksheet.Cells[1, i + 1] = mydataGridView.Columns[i].HeaderText; […]

VBA .Attachments.Add方法抛出错误

我正尝试使用VBA附件发送和发送电子邮件。 代码工作正常,没有Attachments.Add行,但与它得到错误“运行时错误440”:操作失败。 我在网上查找,似乎无法find一个原因。 我没有正确设置电子邮件对象吗? 代码如下: Sub test() Static objOutlook Dim objMailItem Dim objFileSystem Dim objNamespace Dim objSentFolder Const olFolderInbox As Long = 6 Set objOutlook = CreateObject("Outlook.Application") objOutlook.Session.GetDefaultFolder(olFolderInbox).Display objOutlook.ActiveExplorer.WindowState = WindowState Set objMailItem = objOutlook.CreateItem(0) objMailItem.Display With objMailItem .Subject = "test" Set recip = .Recipients.Add("cats@cats.com") .Attachments.Add = "file.xls" .Body = "" .DeleteAfterSubmit = False End […]

如何将超链接插入电子邮件正文

我在Excel中创build了一个macros,每次更新特定文件时都会向各种用户发送电子邮件。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim answer As String answer = MsgBox("Would you like to save the changes?", vbYesNo, "Save Document") If answer = vbNo Then Cancel = True If answer = vbYes Then 'open outlook type stuff Set OutlookApp = CreateObject("Outlook.Application") Set OlObjects = OutlookApp.GetNamespace("MAPI") Set newmsg = OutlookApp.CreateItem(olMailItem) […]

将excel中的值复制到outlook email vb.net正文中

所以这是我前面提到的问题的一个更加精细的版本。 我一直在试图解决这个问题。 我发现一个有意义的网站,但由于某种原因,我无法实现。 我只是想能够从Excel中复制信息(表格,图表,范围等)到Outlook电子邮件的正文中。 从这里: http : //pastebin.com/4VWmcrx6 它表明: Using VB.NET to copy Excel Range (a table) to body of Outlook email Sub CopyFromExcelIntoEMail() Dim Doc As Word.Document Dim wdRn As Word.Range Dim Xl As Excel.Application Dim Ws As Excel.Worksheet Dim xlRn As Excel.Range Set Doc = Application.ActiveInspector.WordEditor Set wdRn = Doc.Range Set Xl = […]

VBA – 检测应用程序是否安装使用它

我制作了一个存储大量定制工业零件信息的Excel文件 。 它允许用户通过Outlook发送一个预先格式化的邮件来要求新的价格。 不幸的是,一些用户没有Outlook的“轻”桌面 ,他们得到一个错误: 找不到项目或库 不幸的是,安装Outlook不是一个选项,晚了已经完成了。 我正在考虑预处理指令,但我不知道如何使用它们在我的情况下… 我知道我们可以用于Windows和VBA版本的常量: 请参阅这里 我会做这样的事情: #If Outlook then MsgBox "Outlook is installed" #Else MsgBox "Outlook is NOT installed" #End if 但是这只会检测代码是否从Outlook运行,这不是我所需要的…:/ 所以我想我可以用On Error做一些事情,但看起来并不整齐,有什么build议吗?

如何在excel中使用macros发送邮件时禁用Outlook警告

我想在Excel中使用macros发送电子邮件。 但是,当我运行这个代码我的邮件客户端,即MS Outlook显示popup类似的警告 Someone is tying to send mail on behalf of you. select yes or no 有没有什么办法使用VBA压制这个警告,所以电子邮件应该没有任何问题发送?

VBA Outlook Mailitem – 不显示所有项目

下面的代码不会收到收件箱中的所有电子邮件。 我的列表框中的第一项是昨天和去年4月22日的一封电子邮件,尽pipe我的邮箱里包含了很多信息。 Sub CheckEmail() On Error Resume Next Dim outApp As Outlook.Application Dim outNs As Outlook.Namespace Dim outFldr As Outlook.MAPIFolder Dim outEmail As Outlook.MailItem Dim p As Integer p = 0 Set outApp = CreateObject("Outlook.Application") Set outNs = outApp.GetNamespace("MAPI") Set outFldr = outNs.GetDefaultFolder(olFolderInbox) Dim searcht As String 'find search string ' do search For Each […]

select从哪个帐户发送Outlook电子邮件?

我有这个代码,使用Outlook发送电子邮件。 我在Outlook中有多个电子邮件帐户,我试图添加一种方式,所以我可以告诉它从哪个电子邮件地址发送它? 有人可以告诉我怎么做到这一点? Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Target.Column = Range("AS1").Column Then If Target.Row > 7 And Target.Value = "Send Email" Then Range("AU" & Target.Row).Value = Date End If End If If Target.Column = Range("CD1").Column Then If Target.Row > 7 And Target.Value = "Notify" Then Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) […]

VBA:给范围和图像发送电子邮件

我有每天生成的报告。 这个报告包含大约7个图表,1个表格(只是普通的excel单元格组)和一些格式化的合并单元格。 我已经写了一大堆的VBA来自动化这个报告,现在我正在想自动发送这个报告。 我试图寻找http://www.rondebruin.nl/这似乎是正常的电子邮件从Excel正常的第一个端口,但我似乎无法find我在找什么。 我试图复制的function是 复制范围(“H5:N100”) 在主题为“X”的Outlook中创build新电子邮件 select性粘贴(Enchance Meta文件或位图通常会提供最佳效果) 发送电子邮件给收件人“Y” 我的问题是,我不希望附加文件,我需要的图表。 当转换为HTML我似乎失去了图表和奇怪的某些合并单元格中的渐变丢失。 编辑:按要求我目前正在使用的代码 Sub Mail_Selection_Range_Outlook_Body() Dim rng As Range Dim Sxbdy As Range Dim OutApp As Object Dim OutMail As Object Set SxRvSht = Application.ThisWorkbook.Worksheets("Report") On Error Resume Next SxRvSht.Select Set Sxbdy = Worksheets("Report").Range("H5:N100") On Error GoTo 0 If Sxbdy Is Nothing Then MsgBox "The […]

VBA代码从Outlook中的辅助电子邮件地址发送电子邮件

我在W7 x64上使用Excel 2010,并使用来自Ron de Bruin的代码从Outlook发送电子邮件。 我有一个个人和群组的电子邮件地址,我正在寻找一种方法,通过在VBA中更改组地址来发送。 辅助地址不是在Outlook中设置为实际帐户。 如果我转到Outlook中的文件 – 帐户设置,则只列出一个电子邮件帐户。 团体电子邮件地址只是转发给该组。 我创build了一个实际帐户的组框,并在VBA中添加了对Microsoft Outlook对象库的引用,并添加了使用MailItem.SendUsingAccount属性在帐户1或2之间进行select的代码,但是Outlook在尝试从这个地址。 当我发送电子邮件时,可以在Outlook的“从”下拉框中select个人和组之间的电子邮件。 有没有另一种方法来做到这一点在VBA没有build立第二个帐户?