跳到主要内容

如何自动将签名插入Outlook会议请求?

作者:晓阳 最后修改时间:2018-05-03

在Outlook中,您可以轻松地将签名自动插入到电子邮件中,但是,如果要将签名自动插入到会议邀请中,​​则没有直接的方法来解决此任务。 本文,我将讨论一些有用的方法来自动将签名插入Outlook会议请求。

使用自定义表单自动将签名插入Outlook会议请求

使用VBA代码自动将签名插入Outlook会议请求


使用自定义表单自动将签名插入Outlook会议请求

在Outlook中,您可以创建一个自定义表单以将签名自动插入会议请求中,请执行以下操作:

1。 请导航到 日历 窗口,然后单击 主页 > 新的会议 打开新的 会议 窗口。

2. 然后点击 插页 > 签名,然后选择要插入的签名,请参见屏幕截图:

doc自动将信号插入会议1

3。 插入签名后,继续单击 开发商 > 设计此表格 在新的 会议 窗口,请参见屏幕截图:

doc自动将信号插入会议2

4。 在新屏幕中,单击 开发商 > 发布 > 发布表单为,请参见屏幕截图:

doc自动将信号插入会议3

5. 在弹出 发布表单为 对话框中,在 屏 显: 名称文本框,然后单击 发布 按钮,请参见屏幕截图:

doc自动将信号插入会议4

6。 然后,关闭当前会议窗口而不保存它。

7。 从现在开始,当您要创建一个带有签名的新会议时,请单击 主页 > 新东西 > 自定义表单,然后选择您刚刚创建的表单。 签名会自动插入会议主体,请参见屏幕截图:

doc自动将信号插入会议5


使用VBA代码自动将签名插入Outlook会议请求

下面的VBA代码还可以帮助您自动插入签名以满足会议要求,请执行以下步骤:

1。 按住 ALT + F11 键打开 Microsoft Visual Basic应用程序 窗口。

2。 在 Microsoft Visual Basic应用程序 窗口,双击 本次展望会议 来自 Project1(VbaProject.OTM) 窗格以打开模块,然后将以下代码复制并粘贴到空白模块中。

VBA代码:自动为会议请求插入签名:

Private Sub Application_ItemSend(ByVal Item As Object, Cancel As Boolean)
Dim xMeetingItem As Outlook.MeetingItem
Dim xFSO As Scripting.FileSystemObject
Dim xSignStream, xWriteStream, xReadStream As Scripting.TextStream
Dim xSignFld, xSignSubFld As Scripting.Folder
Dim xSignFile As Scripting.File
Dim xSignText, xSignPath As String
Dim xMailRTFText, xMeetingRTFText, xAllRTFText As String
Dim xByte() As Byte
Dim xPos As Integer
Dim xFilePath, xFldPath, xFldName As String
Dim xMailItem As MailItem
On Error Resume Next
If Item.Class = olMeetingRequest Then
    Set xMeetingItem = Item
    Set xFSO = CreateObject("scripting.FileSystemObject")
    xSignPath = CStr(Environ("USERPROFILE")) & "\AppData\Roaming\Microsoft\Signatures\"
    Set xSignFld = xFSO.GetFolder(xSignPath)
    If xSignFld.SubFolders.Count <> 0 Then
        For Each xSignSubFld In xSignFld.SubFolders
            xFldName = xSignSubFld.Name
            xFldPath = xSignSubFld.Path
        Next
    End If
    For Each xSignFile In xSignFld.Files
        If xFSO.GetExtensionName(xSignFile.Path) = "htm" Then
            Set xSignStream = xFSO.OpenTextFile(xSignFile.Path)
            xSignText = xSignStream.ReadAll
            If InStr(xSignText, xFldName) <> 0 Then
                xSignText = Replace(xSignText, xFldName, xFldPath)
            End If
            Set xMailItem = Outlook.Application.CreateItem(olMailItem)
            xMailItem.HTMLBody = xSignText
            xMailRTFText = StrConv(xMailItem.RTFBody, vbUnicode)
            xMeetingRTFText = StrConv(xMeetingItem.RTFBody, vbUnicode)
            xPos = InStrRev(xMeetingRTFText, "{\*\htmltag104 </div>}\htmlrtf }\htmlrtf0")
            xFilePath = CreateObject("WScript.Shell").SpecialFolders(16)
            xFilePath = xFilePath & "\MeetingText.txt"
            If xFSO.FileExists(xFilePath) Then
                xFSO.DeleteFile xFilePath
            End If
            Set xWriteStream = xFSO.OpenTextFile(xFilePath, 8, True)
            xMeetingRTFText = Mid(xMeetingRTFText, 1, xPos - 1) & "{\*\htmltag72 </p>}{\*\htmltag0 \par }{\*\htmltag0 \par }" _
            & "{\*\htmltag64 <p class=MsoNormal>}\htmlrtf {\htmlrtf0 {\*\htmltag148 <span lang=EN-US style='color:#00B050'>}\htmlrtf {\htmlrtf0" _
            & "{\*\htmltag244 <o:p>}{\*\htmltag84 &nbsp;}\htmlrtf \'a0\htmlrtf0{\*\htmltag252 </o:p>}" _
            & "{\*\htmltag156 </span>}\htmlrtf }\htmlrtf0 \htmlrtf\par}\htmlrtf0" _
            & vbCrLf & xMailRTFText & vbCrLf & Mid(xMeetingRTFText, xPos, Len(xMeetingRTFText) - xPos + 1)
            xWriteStream.WriteLine xMeetingRTFText
            Set xReadStream = xFSO.OpenTextFile(xFilePath)
            xAllRTFText = xReadStream.ReadAll
            PackBytes xByte, xAllRTFText
            xMeetingItem.RTFBody = xByte
            xMeetingItem.Save
            xMailItem.Close olDiscard
        End If
    Next
End If
End Sub
Private Sub PackBytes(ByteArray() As Byte, ByVal PostData As String)
    ByteArray() = StrConv(PostData, vbFromUnicode)
End Sub

doc自动将信号插入会议6

3。 然后保存并关闭代码窗口,此后,当您发送外向会议邀请时,将自动插入特定签名。 你可以去 发送项目 文件夹检查结果:

doc自动将信号插入会议7


最佳办公生产力工具

最新消息:Kutools for Outlook 发布 免费版本!

体验全新的 Kutools for Outlook 免费版本拥有 70 多项令人难以置信的功能,您可以永久使用! 点击立即下载!

🤖 Kutools人工智能 : 具有人工智能魔力的即时专业电子邮件——一键天才回复、完美语气、多语言掌握。轻松改变电子邮件! ...

📧 电子邮件自动化: 自动回复(适用于 POP 和 IMAP)  /  安排发送电子邮件  /  发送电子邮件时按规则自动抄送/密件抄送  /  自动转发(高级规则)   /  自动添加问候语   /  自动将多收件人电子邮件拆分为单独的消息 ...

📨 电子邮件管理: 撤回电子邮件  /  按主题和其他人阻止诈骗电子邮件  /  删除重复的电子邮件  /  高级搜索  /  合并文件夹 ...

📁 附件专业版批量保存  /  批量分离  /  批量压缩  /  自动保存   /  自动分离  /  自动压缩 ...

🌟 界面魔法: 😊更多又漂亮又酷的表情符号   /  收到重要邮件时提醒您  /  最小化 Outlook 而不是关闭 ...

👍 一键奇迹: 使用传入附件回复全部  /   反网络钓鱼电子邮件  /  🕘显示发件人的时区 ...

👩🏼‍🤝‍👩🏻 通讯录和日历: 从选定的电子邮件中批量添加联系人  /  将联系人组拆分为各个组  /  删除生日提醒 ...

只需单击一下即可立即解锁 Kutools for Outlook -永久免费. 别等了, 立即下载并提高您的效率!

 

 

 

Comments (2)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Dear Supporter,

Regarding to VBA "hack", in Outlook365 does not insert the default signature at the end of a neither a new meeting nor appointment. What should I change in the code to get it work?

Thank you in advance.

Best regards: Laszlo
This comment was minimized by the moderator on the site
What lines do I need to change to get this to work on my own profile? I've added the string to my signature location.
Automatically Insert Signature To Outlook Meeting Requests With VBA Code
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations