我在某种程度上使用VBA,使用此代码:
Sub ExtractEmail()
Dim OlApp As Outlook.Application
Dim Mailobject As Object
Dim Email As String
Dim NS As NameSpace
Dim Folder As MAPIFolder
Set OlApp = CreateObject("Outlook.Application")
' Setup Namespace
Set NS = ThisOutlookSession.Session
' Display select folder dialog
Set Folder = NS.PickFolder
' Create Text File
Set fs = CreateObject("Scripting.FileSystemObject")
Set a = fs.CreateTextFile("c:\mydocuments\emailss.txt", True)
' loop to read email address from mail items.
For Each Mailobject In Folder.Items
Email = Mailobject.To
a.WriteLine (Email)
Next
Set OlApp = Nothing …Run Code Online (Sandbox Code Playgroud) 我在Outlook 2010中有一个简单的VBA代码,可以自动打印任何传入的电子邮件.
此脚本设置为每次通过规则进入电子邮件时运行.
这是代码:
Sub printradu(Item As Outlook.MailItem)
MessageAndAttachmentProcessor Item, True
End Sub
Run Code Online (Sandbox Code Playgroud)
如何使此脚本等待10秒然后执行它.我需要这样的东西:
Sub printradu(Item As Outlook.MailItem)
'Wait 10 seconds then execute the code below:
MessageAndAttachmentProcessor Item, True
End Sub
Run Code Online (Sandbox Code Playgroud) 作为创建VBA脚本以将当前选定图像的大小调整为100%x 100%的第一步,我试图在http://msdn.microsoft.com/en-us/library/ee814736(v)中重现该示例= office.14).aspx.宏非常简单:
Sub Test()
MsgBox ("Hello world")
End Sub
Run Code Online (Sandbox Code Playgroud)
VBA脚本只是在"Project1"中创建,默认情况下会在按下Alt + F11时打开.但是,在尝试运行VBA脚本时,我不断收到错误"Sub或Function not defined"(图1和图2).
如何使VBA脚本"可访问"Outlook?
图1在Microsoft Outlook中运行"测试"宏
图2"Sub或Function not defined"错误,后台有模块树
当您右键单击带有VBA的电子邮件时,是否有任何方法可以从上下文菜单中删除"打印"项?
我永远都是右键单击以回复电子邮件,只是意外点击Print并让Outlook将其直接发送到打印机的速度比我可以停止的速度快.

注意:我使用的是Outlook 2007.
我最困难的时候是配置outlook以便在我想要的时候显示新的邮件消息图标.我有几个规则/过滤器设置,我不想显示,但他们总是这样做.我尝试了一切,但这不是我的问题.我发现一个好的解决方案是创建一个vbs脚本,调用我用来通知我的bash脚本.我在我的catch-all规则中调用此代码,并让所有其他规则提前退出.它工作得很好.但是,我真正喜欢的是在任务栏中显示新的邮件图标(信封).我真的不知道vb,vba,vbs.但如果有人可以在文件中发送我需要的代码,我很乐意尝试一下.谢谢!
我正在使用MSDN上的一些教程来学习为Outlook制作一些宏.我有这个子程序挂起Type mismatch错误.在单步执行错误处理后Stop,Resume它将返回Next并完成查询.
查看立即中的结果集,缺少一个项目,这实际上是分发邮件列表而不是正常联系人.我将邮件列表从我的联系人中移出进行测试,但错误没有发生.
我也计划有其他邮件列表,因为这是为了工作.除了将它们保存在其他地方之外,是否有某种解决方法可以逃脱它?
这是代码:
Sub ContactName()
On Error GoTo ErrHandler
Dim ContactsFolder As Folder
Set ContactsFolder = Session.GetDefaultFolder(olFolderContacts)
MsgBox ("Contacts found: " & ContactsFolder.Items.Count)
Dim Contact As ContactItem
For Each Contact In ContactsFolder.Items
Debug.Print Contact.CompanyName
Next
Exit Sub
ErrHandler:
Debug.Print Err.Description
Stop
Resume
End Sub
Run Code Online (Sandbox Code Playgroud) 我一直在网上寻找一种方法来做到这一点,但没有这样的运气.我的目标是将会议议程模板保存到电子邮件签名中,该签名将插入到我创建的每个会议邀请中.
寻找一些如何做到这一点的线索?
我有一个函数,它接受一个名称并在Outlook中解析它以返回所选名称的别名.如果通讯录中的所选名称有多个条目,则会失败.例如"Smith,Bob"和"Smith,Bob X".如果我试图解析的名称是"Smith,Bob X",则代码工作正常,但简单的"Smith,Bob"失败.
我假设当找到多个条目时,Outlook会打开"检查名称"对话框(当我手动解析名称时会出现这种情况).
当我的代码找到多个条目时,如何选择第一个条目?
Function GETTPX(ByVal UserName As String) As String
Dim objOL As Object
Dim oRecip As Outlook.Recipient
Dim oEU As Outlook.ExchangeUser
Dim oEDL As Outlook.ExchangeDistributionList
Set objOL = CreateObject("Outlook.Application")
Set oRecip = objOL.Session.CreateRecipient(UserName)
oRecip.Resolve
If oRecip.Resolved Then
Set oEU = oRecip.AddressEntry.GetExchangeUser
End If
GETTPX = oEU.Alias
Set oRecip = Nothing
Set objOL = Nothing
End Function
Run Code Online (Sandbox Code Playgroud) 我有一个Outlook任务窗格,当您打开Outlook时打开,我已使用此方法添加此窗格.
https://msdn.microsoft.com/en-us/library/aa942846.aspx
我使用此处给出的示例显示并隐藏任务窗格:
https://msdn.microsoft.com/en-us/library/bb608590.aspx
因此,当用户点击切换按钮时,这适用于电子邮件.但是,我在Outlook的"新邮件消息"窗口中添加了另一个功能区控件,我希望同一个任务窗格也可以在该窗口的一侧使用.我设法创建另一个功能区控件(设计器)并添加了这个新按钮但是当我切换它时,它不会在新邮件消息窗口上打开任务窗格.它仅切换收件箱中可用的现有任务窗格窗口.
新邮件功能区控件的代码:
Imports Microsoft.Office.Tools.Ribbon
Imports Outlook = Microsoft.Office.Interop.Outlook
Imports Microsoft.Office.Tools
Public Class ComposeSidebarRibbon
Private Sub ComposeSidebarRibbon_Load(ByVal sender As System.Object, ByVal e As RibbonUIEventArgs) Handles MyBase.Load
End Sub
Private Sub SidebarToggleButton_Click(sender As Object, e As RibbonControlEventArgs) Handles SidebarToggleButton.Click
Globals.ThisAddIn.TaskPane.Visible = TryCast(sender, Microsoft.Office.Tools.Ribbon.RibbonToggleButton).Checked
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?
vb.net user-controls webusercontrol outlook-vba outlook-addin
我尝试了无数种方法从超过14天的自定义文件夹“ Spam Digests”中删除项目。当我将该文件夹嵌套在的下面时,我已经成功完成了此操作,olDefaultFolder(Inbox)但是当我将其放在默认收件箱之外时,由于收到未找到的对象,因此无法引用它。
这是我所拥有的,我似乎无法弄清楚为什么在引用时找不到对象 "fldSpamDigest"
Dim outapp As Outlook.Application
Set outapp = CreateObject("outlook.application")
Dim olitem As Object
Dim fldSpamDigest As Outlook.MAPIFolder
Set fldSpamDigest = outapp.GetNamespace("MAPI").Folders("Spam Digests")
For Each olitem In fldSpamDigest.Items
If DateDiff("d", olitem.CreationTime, Now) > 14 Then olitem.Delete
Next
Set fldSpamDigest = Nothing
Set olitem = Nothing
Set outapp = Nothing
Run Code Online (Sandbox Code Playgroud) outlook-vba ×10
vba ×8
outlook ×6
email ×1
excel ×1
excel-vba ×1
outlook-2007 ×1
text-files ×1
vb.net ×1