Tag: 前景

如何通过VBA对Outlook中的excel列进行sorting 代码执行不sorting

我正在parsing通过几千个电子邮件扫描错误。 parsing代码将结果转储成excel未sorting成4列。 A:命中,B:总计,C:百分比,D:用户。 这工作正常。 不过,我想按总点击(或百分比)sorting这些数据,而不必在Excel中手动执行。 这是因为这是生成一个包含多个其他字段组的报告,我想对每个字段进行sorting。 问题是我没有想到能够从前景实际sorting。 代码执行没有错误,但没有任何反应。 我能够使用以下方式成功地在excelmacros中sorting。 Sub test() With ActiveSheet Call .Range("A3:D30").Sort(Key1:=Range("A3"), Order1:=xlDescending, Header:=xlNo) End With End Sub 然后我把调用线放到我的outlook vba代码中,定义了一切(引用了Excel Object Library) With xlSheet If i > 0 Then hitp = Round(hits / i * 100, 1) Else hitp = "0" Dim vstr As Variant Dim temph As String j = 2 […]

Excel vba Items.restrict 2条件

我需要帮助如何把这个在一个限制的语法。 原来的限制作品: Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date – daysAgo, "DDDDD HH:NN") & "'") 现在我被告知可以将2个filter设置为限制,所以我试过了: Set myTasks = Fldr.Items.Restrict("[ReceivedTime]>'" & Format(Date – daysAgo, "DDDDD HH:NN") & "' And Not [Subject] like '%Undeliverable%'") 我试过上面的代码,但我得到一个错误“条件是无效的”。 基本上,条件1根据收到的date来过滤电子邮件,这个date单独工作。 我需要的第二个条件是确保循环将忽略在主题行中具有“Undeliverable”的邮件。 请帮助如何把正确的语法。

将无法传送的电子邮件正文中的文本string提取为excel

我需要Outlook VBA上的一些帮助。 我正在尝试在Outlook中编写一个macros,用于从每个单独的无法传送的邮件正文中提取电子邮件地址。 有数以百计的电子邮件传递失败,所以它会更好,如果他们可以自动提取比手动复制和粘贴。 电子邮件正文如下所示: – – – – – – – – – – – – – – 电子邮件 – – – – – – – – – – – ——- 无法发送至对方或群组: XXXX@XXXXXX.XXX(XXXX@XXXXXX.XXX) …不需要信息… 致:XXXX@XXXXXX.XXX …不需要信息… – – – – – – – – – – – – – – 电子邮件 – – – […]

如何同时把Outlook的excel范围粘贴到图片中去

请帮我解决这个问题。 我是这个领域的新手,我想从excel粘贴多个范围,并将其粘贴到Outlook电子邮件大小修改。 请帮帮我。 提前致谢! 这是我现在的代码: Sub EmailSend() Dim rng As Range Dim OutApp As Object Dim OutMail As Object Dim StrBody As String StrBody = "Please see our current Report" Set rng = Nothing On Error Resume Next 'Only the visible cells in the selection 'Set rng = Selection.SpecialCells(xlCellTypeVisible) 'You can also use a fixed […]

从Outlook 16调用Excelmacros

我遇到一些令人头痛的问题,请致电我的personal.xlsm中包含的Excelmacros,请帮助我。 我正在运行Outlook 2016.尝试在打开Outlook时从personal.xlsm调用macros。 关键问题(我认为基于其他解决scheme)是正确的Excel数据对象库不包括在内,但我已经包括似乎是相关的(没有成功)。 该程序只是运行而不调用macros – 我已经放在Excelmacros的开始MsgBox提示检查是否开始运行&每次失败。 从下面的代码中提取; 我已经删除了与这个问题无关的代码。 在outlook:ThisSession Private Sub Application_Startup() Dim macroFile As String, networkFilePath As String, sourceFile as String Dim DestFile As String: DestFile = "FolderTree.csv" Dim SourceFolder As String: SourceFolder = "[NetworkLocation]" Dim foldersRequired As String Dim objShell As Object Dim objFile As Object Dim fso As FileSystemObject: Set fso […]

启用富文本格式并保持格式

我正在开发一个新的Excel文档,我们将使用它来input信息,然后使用该信息从OFT模板生成电子邮件。 基本上,VBA在OFT内查找某个string,然后用单元格或activex文本框的内容replace它。 例如: 单元格引用: .HTMLBody = Replace(.HTMLBody, "<< summary >>", Worksheets("Sheet1").Range("H3")) ActiveX文本框参考: .HTMLBody = Replace(.HTMLBody, "<< previous-updates >>", ActiveSheet.OLEObjects("PreviousUpdates").Object.Text) 我遇到的问题是在“PreviousUpdates”文本框中格式化文本。 我可以用HTML格式化文本,并正确导入OFT模板。 但是,我的很多同事都不懂HTML,所以无法用这种方式来格式化文本。 考虑到这一点,我的问题有两个方面: 如何在“PreviousUpdates”文本框中启用富文本格式? 如何确保在“导出”OFT模板时保持这种格式? TIA的任何帮助。

粘贴到Outlook电子邮件时,行获得双空间

我通过ajax返回一个文本表,将它包装在一个预标签,并写入一个div。 文本表单间隔。 如果我复制/粘贴到Excel,它写入一个单元格,但保持单间隔格式。 如果我将该表复制/粘贴到Outlook电子邮件中,则Outlook会将行间隔两倍。 任何人都可以告诉我为什么,如果是这样,你能提出一个程序化的解决方法吗? 我想保持单个间距,就像粘贴到Excel时一样。 提前致谢

Excel VBA Outlook.Recipients.Add(“别名”) – 处理未解决的项目

我正在尝试使用VBA从Excel中获取公司全球通讯录地址簿。 现在,它设置为查看工作表中的一组单元格(假设select包含userids)并遍历每个userid(别名),并提供一个简单的消息,以确定它是否在通讯簿中。 我所遇到的问题是我工作的公司有不同长度的别名,取决于你的工作职能(例如,现场员工是14个字符,总部员工是6个字符)。 在某些情况下,HQ关联的别名将与字段关联的前6个字符匹配(例如,pbogar&pbogart.s04598) 。 在这些情况下,别名(pbogar)无法parsing。 有没有办法显示相同的“检查用户”对话框,Outlook将显示如果有多个用户共享相同的字符的别名? 或者确保当它通过这个代码馈送时,它只查看全局地址簿中某个字符长度的别名? 码: Sub UserID_From_Email_Selection() Dim OutApp As Object Dim OutMail As Object Dim Recip As Object Dim Cell As Range On Error GoTo err Set OutApp = CreateObject("Outlook.Application") Set OutMail = OutApp.CreateItem(0) On Error Resume Next For Each Cell In Selection If Cell.Value <> "" Then Set Recip […]

为什么我的VBA脚本在Outlook中寻找一个子文件夹是随机的,然后有时候不会呢?

我在Excel VBA中有一个脚本,用于在工作中的共享收件箱中的子文件夹中查找特定的电子邮件。 团队中的每个人都有自己的个人收件箱,然后我们都可以访问为团队提供的单个收件箱。 我有参考文献中检查Outlook库。 大部分时间在我的电脑上工作。 当我的同事试图运行脚本时,它有时会起作用,但通常不会运行。 然后每当我在我的机器上运行它,它将工作,然后在我的同事的机器上完美地运行。 当脚本尝试将“userf”variables设置为Outlook.MAPIfolder对象时,它失败。 子文件夹存在于我们所有机器上的共享收件箱中,所以我不确定它为什么随机起作用,有时却不起作用。 我把脚注放在脚本崩溃的代码底部。 这里是代码: Dim olNs As Outlook.Namespace Dim f As Outlook.MAPIFolder, subf As Outlook.MAPIFolder, userf As Outlook.MAPIFolder Dim currentitem As Object Dim currentatt As Outlook.Attachment Dim firstDayNo As Variant, monthNo As Variant Dim wbMonth As String, attachmentname As String, fpath As String, rngName As String, datestring As […]

比较列 – VBA

我想通过比较两列来在Excel中创build一个简单的macros。 例如。 ABC ————————— john 1 5 tom 2 2 henry 3 7 Mike 4 4 所以在这种情况下,我比较1,5,2,2,3,7和4,4。 后来我会通过电子邮件发送相同的行。 这是我发送电子邮件的代码 Sub sendEmail() Dim olApp As Outlook.Application Set olApp = CreateObject("Outlook.Application") Dim olMail As Outllok.MailItem Set olMail = olApp.CreateItem(olMailItem) olMail.To = "myemail@example.com" olMail.Subject = "Testing" olMail.Body = "THis is the body" olMail.Send End Sub 现在我只想比较两列,并将“姓名”存储在某个地方,并将其发送到电子邮件的正文中。