Tag: outlook

VBA(Excel)在每个循环上运行时错误13

我在这个代码中find了这个奇怪的问题。 我试图从Outlook中的所有子文件夹中列出Excel中的所有电子邮件: 我已经search了几个星期,没有任何运气。 'Requires reference to Outlook library Option Explicit Public Sub ListOutlookFolders() Dim olApp As Outlook.Application Dim olNamespace As Outlook.Namespace Dim olFolder As Outlook.MAPIFolder Dim rngOutput As Range Dim lngCol As Long Dim olItem As Outlook.MailItem Dim rng As Excel.Range Dim strSheet As String Dim strPath As String Set rngOutput = ActiveSheet.Range("A1") Set olApp […]

Excel VBA单元格字符数限制

我正在构build一个macros将数据从自定义Outlook窗体导出到Excel工作簿。 数据将从Outlook窗体的用户定义的字段以string格式提取。 string数据将被input到excel单元格的值中。 string可能包含大量的字符。 我明白,每个Excel单元格可以容纳32,767个字符。 如果我尝试在excel单元格中input超过32,767个字符的string,会发生什么情况? 什么会发生在多余的字符? 我意识到angular色不会出现,但是这些失落的angular色能够以某种方式恢复吗?

获取Excel窗口回到前台

我从顶端search互联网到根,但我找不到解决scheme。 在我的Excel工作簿中,我想从Outlook导入联系人。 这工作正常没有任何问题。 我通过使用Outlook.ActiveWindow.Activate获得GAL到前景,并通过使用Outlook.Explorers.Item(1).WindowState = olMinimized最小化Outlook。 我知道这不是一个非常干净的解决scheme,但一切正常,除非没有其他Outlook窗口打开。 现在到我的问题: 当用户有多个打开的Outlook窗口(例如新的邮件对话框等),我不能把我的Excel应用程序回到前台。 联系人的导入仍然正常工作。 GAL通过单击button来到前景。 我尝试了下面的代码片段,但它们并不真正起作用。 Dim AppTitle As String AppTitle = Application.Caption ' 'some code ' AppActivate AppTitle 另一个尝试是在模块中的这个function Public Declare Function SetForegroundWindow Lib "user32" _ (ByVal hWnd As Long) As Long 在我的buttonfunction中调用它 Dim AppXL As Object Set AppXL = CreateObject("Excel.Application") ' 'some code ' SetForegroundWindow AppXL.hWnd 我也试过使用这个代码片段 […]

Excel VBAstring数组到Outlook电子邮件“收件人”字段

我正在尝试创build一个macros,它将从我的Excel工作表中取出一列电子邮件地址,并填充Outlook电子邮件中的“收件人”字段。 我有基本的工作,我能够创build一个新的Outlook电子邮件与我指定的各种字段值 – 但是,我不知道如何填充多个电子邮件地址到“收件人”字段,一个电子邮件。 到目前为止,我能够创build一个所有需要的电子邮件地址的数组,但不知道如何将数组值填充到Outlook的“收件人”字段。

从Excel打开Outlook通讯簿

我在Excel 2010中使用VBA,使用Outlook 2010(已经打开)。 我怎么能写一个命令button的子,当用户点击它: 1 Outlook通讯录打开; 2用户select一个联系人并点击确定; 3联系人的名字,姓氏和电子邮件地址存储在活动工作表的单元格中? 我尝试用这个方法没有成功: SelectNamesDialog Object 另外我不确定是否需要使用: Application.GetNamespace("MAPI") 解决scheme:以下是如何从GAL中的选定联系人获取所有详细信息: 您需要打开全局地址列表,而不是联系人文件夹中的联系人,然后按照本页面上的说明使用Outlook.ExchangeUser对象:请参阅David Zemens的最新答案。 Private Sub cmdSetProjectMember1_Click() Dim olApp As Outlook.Application Dim oDialog As SelectNamesDialog Dim oGAL As AddressList Dim myAddrEntry As AddressEntry Dim exchUser As Outlook.ExchangeUser Dim AliasName As String Dim FirstName As String Dim LastName As String Dim EmailAddress As String […]

更改电子表格时,使用Outlook从Excel发送自动电子邮件

我有问题让Outlook通过Excel电子表格发送电子邮件。 当我在Outlook中使用Outlook 2013时没有任何问题,但是当我使用具有唯一域的先前版本(2010)(someEmail@CreatedDomain.mil)时,出现错误。 我想说的是因为领域,但我不确定。 以下是我在网上find的代码。 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, _ Cancel As Boolean) '—–AUTOMATIC EMAIL GENERATION———————– Dim answer As String answer = MsgBox("Saving this document will send an email to the database director and close the database. Are you sure you want to save?", _ vbYesNo, "Save confirmation") ' Above code informs the […]

lockingExcel电子表格

我已经在Outlook VBA中编写了一个程序,该程序根据Excel电子表格的内容创build一些电子邮件。 这一切工作正常,但当程序终止我继续有一个“EXCEL.EXE”进程运行locking电子表格,让别人可以打开它。 在代码中,我有三个Excel对象: Dim xl As Excel.Application Dim xlwb As Excel.Workbook Dim xlsheet As Excel.Worksheet 最后,我closures工作簿并将所有variables设置为Nothing: xlwb.Close Set xlsheet = Nothing Set xlwb = Nothing Set xl = Nothing 我错过了什么? 编辑: 这是代码的最基本的部分,包括新的“退出”行: Dim xl As Excel.Application Dim xlwb As Excel.Workbook Dim xlsheet As Excel.Worksheet Dim ol As Outlook.Application Dim Mail As MailItem Set xl […]

Outlook获取Exchange用户图片

我正在试图获取具有特定名称的用户在分发列表中的图片。 在OUTLOOK VBA中,代码起作用。 在EXCEL VBA中,代码在getpicture调用上失败。 从通用VBS运行代码,代码执行getpicture调用,但是它返回null。 但是, getexchangeuser调用在所有三种情况下都起作用。 我需要帮助获取图片,然后根据VBA中的格式难以保存来保存。 Sub test() HeroName = "test" HLastName = Split(HeroName, " ")(1) Dim olApp As Outlook.Application Dim olNS As Outlook.NameSpace Dim olAL As Outlook.AddressList Dim olEntry As Outlook.AddressEntry Dim olMember As Outlook.AddressEntry Dim lMemberCount As Long Dim objMail As Outlook.MailItem Set olApp = Outlook.Application Set olNS = olApp.GetNamespace("MAPI") […]

保留HTMLbody的原始段落间距

Sub ColdEmail() Dim OutLookApp As Object Dim OutLookMailItem As Object Dim lastrow As Long Dim iCounter As Long Dim MailDest As String Dim subj As String Dim bod As String Dim ws As Worksheet Dim signature As String lastrow = ThisWorkbook.Worksheets("Prospects").Cells(Rows.Count, "D").End(xlUp).Row 'change worksheet For iCounter = 2 To lastrow Set OutLookApp = CreateObject("Outlook.application") Set […]

使用Excel VBA获取发件人的电子邮件地址

我使用以下代码来提取主题,收到date和发件人的姓名: Set InboxSelect = GetObject("", "Outlook.Application").GetNamespace("MAPI").PickFolder i = 0: EmailCount = 0 EmailCount = InboxSelect.Items.Count While i < EmailCount i = i + 1 blastRow = Cells(Rows.Count, 1).End(xlUp).Offset(1).Row LastRow = Sheets("Body").Cells(Rows.Count, 1).End(xlUp).Offset(1).Row With InboxSelect.Items(i) MsgBox (SenderEmailAddress) 'If .senderemailaddress = "*@somethingSpecific.co.uk" Then 'EmailCount = EmailCount + 1 Sheets("Import Data").Range("A" & blastRow).Formula = .SenderName Sheets("Import Data").Range("B" & […]