Tag: 前景

使用Outlook的Excel VBA错误“用户定义types未定义”

我在我的电脑中使用Office 2016,我有一个VBA代码发送电子邮件到邮件列表中的文件。 每次我想用我的CommandButton自动发送电子邮件,我得到错误消息:“用户定义的types没有定义”。 我在网上做了一些调查,发现有一个解决scheme:VB Editor —-> Tools —-> Referenced —-> Microsoft Outlook 16.0 Object Library 但是 ,下一次我打开文件时,同样的错误一次又一次地运行。 有人能find我的解决scheme,将永久? 我不知道该怎么做,我已经做了。 Public Sub sendMail() Call ini_set If mail_msg.Cells(200, 200) = 1 Then lr = main_dist.Cells(main_dist.Rows.Count, "A").End(xlUp).row On Error Resume Next For i = 2 To lr Application.DisplayAlerts = False Dim applOL As Outlook.Application Dim miOL As Outlook.MailItem […]

将Excel按选定范围复制到Outlook

我想复制Sheet“PUCCH”中的excel内容,并select范围“A1到G5”来查看vbs脚本。 Line in中有错误。 HTMLBody和错误显示types不匹配: Set outlook = CreateObject("Outlook.Application") Set email = outlook.CreateItem(0) Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open("X:\d\PCCW\realtime_MTR\PUCCH_level.XLSX") Set xlSht = xlBook.Sheets("PUCCH") Set objExcel = CreateObject("Excel.Application") Set objWorkbook =objExcel.Workbooks.Open("X:\d\PCCW\realtime_MTR\PUCCH_level.XLSX") Set objWorksheet = objWorkbook.Worksheets("PUCCH") objWorksheet.Activate With email '.to="Email;" .to="Email;" .Subject="Houly MTR Alerter" .HTMLBody= "PUCCH:<br>" & objWorksheet.Range("A1:G5") .Send End With Wscript. quit 任何人都可以更正.Range()中的.HTMLBody? 谢谢。

如何在Outlook.AppointmentItem中设置收件人属性?

在这个优秀的VBA代码,我试图在Outlook中创build一个新的约会,我想要的是通过电子邮件的约会,即我想邀请用户的约会。 我不知道是否需要为这个东西创build一个新的outlook.recipients对象,或者我没有正确使用.Recipeint.Add属性。 Sub app() Dim OutApp As Outlook.Application Dim OutMail As Outlook.AppointmentItem Set OutApp = New Outlook.Application Set OutMail = OutApp.CreateItem(olAppointmentItem) With OutMail .Location = " happening" .Subject = " Event check " .Start = "8:00 PM" & Format(Date) .End = "9:00 PM" & Format(Date) .Body = "this is event details" .Recipients.Add ("someone@gmail.com") ' This […]

将已closures工作簿的一系列单元格复制到已包含使用VBA的正文的Outlook电子邮件中?

我正在尝试将一系列单元格复制到已经有一些文本的Outlook电子邮件正文中。 我目前的代码如下,但它不断崩溃: Dim sourceWorkbook As Workbook Dim outEmail As Object Dim outContent As Object Dim copiedRange As Range Set sourceWorkbook = Workbook.Open("file location") Set outEmail = GetObject(,"Outlook.Application") Set outContent = objOut.CreateItem(0) Set copiedRange = Sheet("sheet name").RangeToHtml("A1:D5") copiedRange.Select With Selection .Copy End With With outContent .Body = "blah blah blah" .HTMLBody = RangeToHtml.copiedRange End With

VBA代码不填充工作表

下面的代码来源于另一个SOpost: Excel VBA代码来从Outlook中检索电子邮件 。 目的是从Outlook电子邮件中查找信息并将其放入Excel中。 Sub test2() Dim olApp As Outlook.Application Dim olNs As Outlook.Namespace Dim olFolder As Outlook.MAPIFolder Dim olMail As Outlook.MailItem Dim eFolder As Outlook.Folder Dim i As Long Dim x As Date Dim wb As Workbook Dim ws As Worksheet Dim iCounter As Long Dim lrow As Long Set wb = ActiveWorkbook […]

获取文件的目录并在outlook中作为附件发送

我有这个代码获取所选目录的文件名。 Sub browsefile() Dim file As Variant Dim i As Integer Dim lRow As Long Set main = ThisWorkbook.Sheets("Main") file = Application.GetOpenFilename("All Files, *.*", , "Select File", , True) For i = 1 To UBound(file) lRow = Cells(Rows.Count, 15).End(xlUp).Row lRow = lRow + 1 ThisWorkbook.Sheets("Main").Range("O" & lRow).Value = GetFileName(CStr(file(i))) Next i End Sub Function GetFileName(filespec […]

Excelmacros到Outlook(正文和/ cc)

我试图MailEnvelope从工作簿到Outlook的一系列单元格,并保存到草稿。 我已经调整了Ron de Bruin http://www.rondebruin.nl/win/s1/outlook/bmail3.htm中的一些macros,这非常完美。 现在就是这样(只是我编辑过的部分): With Sendrng .Parent.Select Set rng = ActiveCell .Select ActiveWorkbook.EnvelopeVisible = True With .Parent.MailEnvelope With .Item .To = "" .CC = "" .Subject = "XXX" '.Attachments.Add ("C:\test.txt") .Display .Save .Close olPromtForSave End With End With 我只是想将上面的macros设置为.to =“K1”和.cc =“M1:M4”,这些是来自同一个活动工作簿的单元格,然而对单元格进行了一些调整.Value和for For Each单元格In这个链接的列(“K”)似乎没有工作http://www.rondebruin.nl/win/s1/outlook/bmail5.htm 。 谢谢!

Outlook VBA查找Excel工作表中的最后一行

我在Outlook VBA中编写一个函数,涉及从Excel工作簿读取内容。 我正在努力的部分是find列中的最后一行(本例中的列A)。 虽然突出显示块中的第一行正确显示给定工作表中的A1单元格的内容,但第二行提供了错误“424” – 所需的对象。 任何build议到这个问题将不胜感激。 Public Function openExcel() Dim xlApp As Object Dim sourceWorkBook Dim sourceWorkSheet Dim cellVal As String Dim lastRow As Long Set xlApp = CreateObject("Excel.Application") With xlApp .Visible = True .EnableEvents = True End With Set sourceWorkBook = xlApp.Workbooks.Open("C:\SAMPLEPATH\Template.xlsx") Set sourceWorkSheet = sourceWorkBook.Worksheets("Sheet1") sourceWorkBook.Activate With Activesheet cellVal = sourceWorkSheet.Cells(1, 1) […]

使用VBA查找以特定主题开始的电子邮件

我正在尝试从特定主题开始在Outlook中查找电子邮件,并从该电子邮件下载附件,但我无法做到这一点。 我正在使用具有限制function的variables,但问题似乎是由于使用通配符。 您能否让我知道从特定主题行开始查找电子邮件的最佳方法是什么? 以下是我正在使用的代码: Sub findemail() cntofmkts = Range("A" & Rows.Count).End(xlUp).Row cntofmkts = cntofmkts – 1 ftodaydate = Format(Date, "yyyy-mm-dd") Do If i > cntofmkts Then Exit Do MarketName = Range("A" & j).Value Findvariable = "XXX_" & MarketName & "_ABC_" & ftodaydate For Each oOlItm In oOlInb.Items.Restrict("[Subject] = *Findvariable*") eSender = oOlItm.SenderEmailAddress dtRecvd = oOlItm.ReceivedTime […]

将模板从Excel复制到Outlook

我有一个驻扎在Excel文件中的模板。 一旦我点击了预览button,这个模板就会显示在outlook以及它的subject,to等等 我有这个代码工作正常,但不在身体领域工作。 Sub previewMail() Dim objMail, objOutLook As Object Dim rngTo, rngCC, rngBCC, rngBody As Range Dim lRow As Long Dim i As Integer Set objOutLook = CreateObject("Outlook.Application") Set objMail = objOutLook.CreateItem(0) Set main = ThisWorkbook.Sheets("Main") lRow = main.Cells(Rows.Count, 2).End(xlUp).Row For i = 11 To lRow With main Set rngTo = .Range("B" & i) […]