Tag: outlook vba

在Outlook VBA中执行Excel函数的应用程序定义或对象定义的错误

我有一些代码将文件夹中的电子邮件正文提取为.xlsm文件。 提取后,文件保持打开状态,需要重新格式化才能将数据分离出单元格,然后将数据堆叠到单个列中。 这是我第一次在Outlook VBA编码,我觉得我有什么可能导致应用程序定义的错误有一些根本性的缺陷。 以下是电子邮件提取代码: Sub OutlookToExcel() Dim appExcel As Excel.Application Dim wkb As Excel.Workbook Dim wks As Excel.Worksheet Dim rng As Excel.Range Dim strPath As String Dim intRowCounter As Integer Dim intColumnCounter As Integer Dim Msg As Outlook.MailItem Dim nms As Outlook.NameSpace Dim fld As Outlook.MAPIFolder Dim itm As Object strPath = "C:\Users\me\Documents\Action Items\WMV […]

如何将Outlook收件箱中的邮件项目与特定的主题移动到特定的文件夹/子文件夹?

我在Outlook邮件有所有特定的主题。 我有一个Excel工作表,它有主题和文件夹名称。 我已经从Stackoverflow的这段代码 Option Explicit Public Sub Move_Items() '// Declare your Variables Dim Inbox As Outlook.MAPIFolder Dim SubFolder As Outlook.MAPIFolder Dim olNs As Outlook.NameSpace Dim Item As Object Dim lngCount As Long Dim Items As Outlook.Items On Error GoTo MsgErr '// Set Inbox Reference Set olNs = Application.GetNamespace("MAPI") Set Inbox = olNs.GetDefaultFolder(olFolderInbox) Set Items = […]

指定要保存Excel文件的文件夹

每天,我都会在Outlook中收到大约100封电子邮件,邮件内容类似于“经销商销售驾驶舱 – XXXXXXXX”,XXXXXXXX是一个可变数字。 我需要获取电子邮件主题末尾的数字,然后将它们写入Excel电子表格的一个列中(如果在Excel中不可能,则将其写入一个.txt文件中)。 这是我find的代码。 问题是,它从来没有在“test.xlsx”中写入。 我无法解决它从来没有真正与VBA工作。 Sub ExportMessagesToExcel() Dim olkMsg As Object, _ excApp As Object, _ excWkb As Object, _ excWks As Object, _ lngRow As Long, _ lngCnt As Long, _ intPos As Integer, _ strFil As String strFil = InputBox("D:\LocalData\xl02926\Documents\Samuel\AutoCockpit\test.xlsx", "Export Messages to Excel") If strFil <> "" Then Set excApp […]

VBScript_Not能够直接从outlook的电子邮件正文打开超链接到excel SHEET(不是整个工作簿)

背景: 我应该创build一个仪表板(在Excel中)使用VBScript,并通过电子邮件(Outlook)发送给某人。 我已经有一个仪表板(Excel)的模板。 我的脚本打开该模板excel,更新Excel今天的结果和一些超链接到一些新的文件,创build一个Excel邮件信封,并将其发送给某人。 问题: 我的脚本在仪表板excel中添加了2个超链接。 第一个链接指向一个mht文件,第二个链接指向另一个excel文件。 我把邮件发给自己并打开了。 打开电子邮件后,当我点击第一个链接(到MHT文件),它工作正常,并打开IE显示MHT文件内容。 问题是与指向一个Excel文件的第二个超链接。 这不是打开的Excel文件(我已经确保链接是正确的)。 有什么我需要改变我的代码或是否有任何Outlook设置,这将允许我直接打开链接到Excel文件? 码: Option Explicit Dim objXL, objXb, objXs, strXlPath, strMHTLink, strExcelLink 'Dashboard Excel template strXlPath = "C:\Users\Gurman\Work\Misc\Excel Hyperlink in Outlook\test.xlsx" 'Link to MHT file strMHTLink = "C:\Users\Gurman\Work\Misc\Excel Hyperlink in Outlook\MHTFile.mht" 'Link to another Excel File strExcelLink = "C:\Users\Gurman\Work\Misc\Excel Hyperlink in Outlook\EXLFile.xlsx" 'Opening an excel(strXlPath) […]

在Excel窗口中打开附件并复制以打开工作簿

使用outlook VBA – 我想在excel的特定实例中打开附件,然后将附件中的表格复制到打开的工作簿中。 我已经使用了几个代码片段( 在文件名中保存Outlook附件和date,并检查Excel是否打开(从另一个Office 2010应用程序)保存电子邮件附件,然后find我需要的Excel窗口打开它 – 都在孤立的前景testingmacros工作。 麻烦的是,我似乎无法将这两个部分连接在一起成为工作代码,在我所拥有的所有部分的最后: Option Explicit Private Declare Function newFindWindowEx Lib "user32" Alias "FindWindowExA" _ (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, _ ByVal lpsz2 As String) As Long Private Declare Function GetDesktopWindow Lib "user32" () As Long Private Declare Function AccessibleObjectFromWindow& Lib "oleacc" […]

使用Excel VBA统计后续电子邮件

我正在使用Office 2013,我试图在我的一个电子邮件文件夹中计算后续项目,并将此值写入单元格。 所以我在添加Outlook对象库引用后使用下面的代码: Dim Folder As Outlook.MAPIFolder Dim objOL As Outlook.Application Set objOL = New Outlook.Application MailboxName = "mymailboxhere" Main_Folder_Name = "Inbox" Sub_Folder_Name = "Test" Set Folder = Outlook.Session.Folders(MailBoxName).Folders(Main_Folder_Name).Folders(Sub_Folder_Name) Dim itms As Outlook.Items Set itms = Folder.Items Dim FollowupItms As Outlook.Items Set FollowupItms = itms.Restrict("[FlagStatus] = 2") Followup = FollowupItms.Count Worksheets("Sheet1").Range("A1").Value = Followup 出于某种原因,即使至less有一封邮件被标记为后续邮件,我仍然会将Followup计数设置为0 。 […]

VBA代码来select发件人和签名

在Excel中,我使用这样的代码通过Outlook开始一个电子邮件消息: Set mOutlookApp = GetObject("", "Outlook.application") Set OutMail = mOutlookApp.CreateItem(0) With OutMail .To = "blahblah@blah.com" .Subject = "More BLAH here" .HTMLBody = "Message Text" & .HTMLBody ' This preserves the Signature in the message. .Display End With 通常,当我发送(手动)电子邮件时,我可以select从非常规地址发送(通过按“发件人”button)。 另外,我可以从我保存的几个签名中select一个。 我怎样才能在VBA代码中完成这些壮举?

VBA从Excel中search已发送邮件中的Outlook 2010邮件

我需要一个Excel VBAsearch当前date发送的已发邮件中的Outlook 2010邮件,并将其作为“任务已完成”(有时候,主题可能会有一个额外的文本,如任务在07/01/2017完成或任务已完成01/09 / 2017年); 如果find,然后从指定的path打开一个Excel文件。 我在Googlesearch中发现了这个Outlook VBA代码,它显示了search到的邮件,但是我希望代码能够在通配符search选项中运行,并打开excel。 我尝试使用通配符“ * ”search主题,例如“语法错误/编译错误”中的“任务完成* ”和“任务已完成并格式化(date,”dd / mm / yyyy“)” Sub Test() Dim olApp As Outlook.Application Dim olNs As NameSpace Dim Fldr As MAPIFolder Dim olMail As Outlook.MailItem Dim i As Integer Set olApp = New Outlook.Application Set olNs = olApp.GetNamespace("MAPI") Set Fldr = olNs.GetDefaultFolder(olFolderSentMail) i = 1 For […]

发送单个电子邮件给多个邮件的收件人

我有一个macros,我写了一个用户在列1中放入一个数字列表的macros,然后他们按下一个button,打开一个表单,让他们为Outlook电子邮件select各种参数,包括电子邮件应该发送给谁。 然后在电子邮件中发送这个数字列表。 我想改变macros,所以用户把列表中的数字列1,并在第2列他们把收件人。 然后用相应的号码向每个收件人发送一封电子邮件。 为列中的每个号码创build一个新的电子邮件很容易,但可能有多个电子邮件发送到同一个收件人,这将不被很好地接收。 这也是非常低效的。 我想让我的macros组成员打算给同一个人的号码,然后每个不同的收件人发送一封电子邮件。 示例数据: 1 RecipientA 2 RecipientB 3 RecipientA 4 RecipientC 5 RecipientA 我想发一个电子邮件给收件人A 1/3/5,B 2,C 4。 我不一定需要实际的代码帮助,我只是想不出一个办法来做到这一点。 任何人都可以提出解决scheme吗?

parsing电子邮件正文最后find的权利

我有以下types的电子邮件: 我正在提取名称和城市,但我也想提取每个领域的问题:名称因为是错误和城市因为它不能被读取 到现在为止,我可以提取每个电子邮件的总体问题 – 第一次遭遇。 Sub Problems() Dim myOlApp As New Outlook.Application Dim myNameSpace As Outlook.NameSpace Dim myInbox As Outlook.MAPIFolder Dim myitems As Outlook.items Dim myitem As Object Dim Found As Boolean Set myNameSpace = myOlApp.GetNamespace("MAPI") Set myInbox = myNameSpace.GetDefaultFolder(olFolderInbox) Set myitems = GetFolderPatharchive("aaa\bbb").items Found = False Dim olkMsg As Object, _ olkFld As Object, […]