VBA发Out-of-office in outlook

2024-06-07 13:08
文章标签 office outlook vba

本文主要是介绍VBA发Out-of-office in outlook,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

单位的Jira 和Outlook联系的不够紧密,总之OOO的状态无法让那些Jira上发任务Ticket的人知道,这么着还是挺容易误事的。遂做了一个VBA 工具,小规模解决下这个问题。

另外,TrustCentre里面的Macro Setting要改一改,至少改到,所有的轰都prompted,或者就直接允许。这个会有一些宏病毒风险。

Private WithEvents Items As Outlook.Items'Create for Jira OutOfOffice Notice email in outlook
'Please review below comment lines and change the info according to you
'Alt+F11 switch to VB Editor, paste the code to "ThisOutlookSession"
'Go to Trust Center under Macro tab, Trust all Macro, or if it is signed, you can just trust VBA with Signature
'Restart outlookPrivate Sub Application_Startup()Dim olApp As Outlook.ApplicationDim objNS As Outlook.NameSpaceSet olApp = Outlook.ApplicationSet objNS = olApp.GetNamespace("MAPI")' default local InboxSet Items = objNS.GetDefaultFolder(olFolderInbox).Folders("Jira").Items  'Change to Jira Folder if you have any...
End Sub
Private Sub Items_ItemAdd(ByVal item As Object)On Error GoTo ErrorHandlerDim oNS As Outlook.NameSpaceDim oStores As Outlook.StoresDim oStr As Outlook.StoreDim oPrp As Outlook.PropertyAccessorDim olReply As ObjectDim myName As StringmyName = "MSS"    'Change to your email display nameSet oNS = Outlook.GetNamespace("MAPI")Set oStores = oNS.StoresDim Msg As Outlook.MailItemFor Each oStr In oStoresIf oStr.ExchangeStoreType = olPrimaryExchangeMailbox ThenSet oPrp = oStr.PropertyAccessorIf (oPrp.GetProperty("http://schemas.microsoft.com/mapi/proptag/0x661D000B") = True) Then   'Check OOO statusIf TypeName(item) = "MailItem" ThenSet Msg = itemIf InStr(Trim(Msg.Sender), myName) <= 0 And InStr(Trim(Msg.Sender), "(JIRA)") > 0 Then  'Only Jira sent mail would be replyFor k = Msg.Recipients.Count To 1 Step -1If Msg.Recipients.item(k) = myName Then   'In case you send it to yourselfSet olReply = Msg.ReplyAllolReply.Recipients.Remove (1)strNum = InStr(Trim(Msg.Sender), "(") - 1SenderName = Trim(Mid(Trim(Msg.Sender), 1, strNum))Set olRecip = olReply.Recipients.Add(Replace(SenderName, " ", ".") & "@wswswsws.com")olReply.HTMLBody = "Hello, Thank you." & vbCrLf & _"As I'm currently out of office please contact my manager for urgent JIRA tasks." & vbCrLf & olReply.HTMLBodyolReply.SendExit ForEnd IfNextEnd IfEnd IfEnd IfEnd IfNextProgramExit:Exit Sub
ErrorHandler:MsgBox Err.Number & " - " & Err.DescriptionResume ProgramExit
End Sub


这篇关于VBA发Out-of-office in outlook的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1039264

相关文章

解决Office Word不能切换中文输入

我们在使用WORD的时可能会经常碰到WORD中无法输入中文的情况。因为,虽然我们安装了搜狗输入法,但是到我们在WORD中使用搜狗的输入法的切换中英文的按键的时候会发现根本没有效果,无法将输入法切换成中文的。下面我就介绍一下如何在WORD中把搜狗输入法切换到中文。

Weibull概率分布纸(EXCEL VBA实现)

在学习Weibull分布理论的时候,希望有一张Weibull概率纸,用来学习图解法。但是在度娘上没有找到的Weibull概率纸的电子版。在书上看到的Weibull概率纸,只能复印下来使用。于是萌生了自己制作Weibull概率纸的想法,帮助自己更好地学习。 本人擅长使用各种计算机语言,C,C++,Matlab,Scilab等等,但是始终钟爱与VBA,认为VBA可以实现一切你想要的东西,由于在企业里不

如何在Excel中创建一个VBA宏,并设置一个按钮来执行这个宏

下面是一个详细的步骤指南 步骤1:创建VBA宏 1. 打开Excel并按 `Alt + F11` 打开VBA编辑器。 2. 在VBA编辑器中,选择 `Insert` > `Module` 来插入一个新的模块。 3. 将以下代码粘贴到模块中: ```vba Sub CreateNewSheet()' 声明一个工作表对象Dim newSheet As Worksheet' 添加一个新的工作表S

VBA 调用打印机实战开发

VBA 调用打印机实战开发 Public Type POINTAPIX As LongY As LongEnd Type#If Win64 ThenPublic Declare PtrSafe Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As LongPublic Declare PtrSafe Function Get

备考MS office 二级

word 1、分页符 布局-分隔符-分节符-下一页:第二张可以不同纸张大小、方向等 2、调整宽度:新文字宽度(字符宽度) 中文版式 3、字符间距 4、文本转换为表格 1、把 || 替换为逗号,方便查找 5、首字下沉 插入 - 首字下沉- 下沉行数3-距正文0 6、邮件合并-标签 编辑域代码:shift+F9 7、图标链

VBA 根据单元格改变的值改变对应单元格的值

VBA 根据单元格改变的值改变对应单元格的值 Private Sub Worksheet_Change(ByVal Target As Range)10 On Error GoTo er:20 Application.EnableEvents = False30 If Intersect(Target, Range("I6")) Is Nothing = Fals

VBA Excel 出报表

源数据 目标  PS:调休 以高亮颜色区分 整理一下 CMDBUT命令  VBA代码 Private Sub CommandButton1_Click()Dim ps As IntegerDim pe As IntegerDim srcs As IntegerDim srce As IntegerDim i As IntegerDim j As IntegerD

在VBA中,对Excel单元格的操作方法

在VBA(Visual Basic for Applications)中,对Excel单元格的操作方法非常丰富,包括但不限于赋值、数字格式设置、复制粘贴、自动填充、公式填充、选中单元格、合并和解除合并单元格、排序等。以下是一些具体的操作方法: ‌赋值‌:可以使用Range对象的Value属性给单元格赋值,例如Range("A1").Value = 3.1415。 ‌数字格式‌:通过Numb

wps for linux wps-office_10.1.0.5460~a20p1_i386.deb字体库缺失

ubuntu环境,安装完wps-office_10.1.0.5460~a20p1_i386.deb,提示Some formula symbols might not be displayed correctly******,按其提供的解决方案,打开后无法解决,在此提供解决方案如下: 1、网上下载wps_symbol_fonts.zip字体库,或搜寻.tff字体库也可; 2、在用户目录下打开~/

qt调用office得com组件将word另存为html格式

#include <QAxWidget>           QAxWidget *a = new QAxWidget("Word.Application");//打开Word          a->setControl(g_strSrcFilePath);//打开此Word文档          a->setProperty("Visible",false);//设置程序不显示