Перейти до основного матеріалу

Як автоматично вставити підпис до запитів на збори в Outlook?

У програмі Outlook ви можете легко вставити підпис в електронні листи, але якщо ви хочете вставити підпис у запрошення на нараду автоматично, вам не вдасться вирішити це завдання прямо. У цій статті я розповім про деякі корисні методи автоматичного вставлення підпису до запитів на збори Outlook.

Автоматично вставляти підпис до запитів на збори Outlook за допомогою спеціальної форми

Автоматично вставляти підпис до запитів на збори Outlook із кодом VBA


Автоматично вставляти підпис до запитів на збори Outlook за допомогою спеціальної форми

У програмі Outlook ви можете створити власну форму для автоматичного вставлення підпису до запитів на збори. Будь ласка, зробіть так:

1. Будь ласка, перейдіть до Календар вікно та натисніть Головна > Нова зустріч відкрити новий Наради вікна.

2. Потім натисніть Insert > Підписі виберіть підпис, який потрібно вставити, див. знімок екрана:

doc автоматично вставити sig до зустрічі 1

3. Вставивши підпис, клацніть Розробник > Сконструюйте цю форму в новому Наради вікно, див. скріншот:

doc автоматично вставити sig до зустрічі 2

4. На новому екрані натисніть Розробник > Публікувати > Опублікувати форму як, див. скріншот:

doc автоматично вставити sig до зустрічі 3

5. В вискочив Опублікувати форму як діалогове вікно, введіть ім'я в дисплей ім'я, а потім клацніть Публікувати , див. знімок екрана:

doc автоматично вставити sig до зустрічі 4

6. А потім закрийте поточне вікно наради, не зберігаючи його.

7. Відтепер, коли ви хочете створити нову зустріч із підписом, натисніть Головна > Нові товари > Спеціальні форми, а потім виберіть форму, яку ви створили щойно. І підпис вставляється в тіло наради автоматично, див. Знімок екрана:

doc автоматично вставити sig до зустрічі 5


Автоматично вставляти підпис до запитів на збори Outlook із кодом VBA

Наведений нижче код VBA також може допомогти вам автоматично вставити підпис до запитів на збори, виконайте такі дії:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2, в Microsoft Visual Basic для додатків вікно, двічі клацніть ThisOutlookSession від Проект1 (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 автоматично вставити sig до зустрічі 6

3. А потім збережіть і закрийте вікно коду, з того часу, коли ви надсилаєте вихідне запрошення на нараду, конкретний підпис буде вставлено автоматично. Ви можете перейти до Надісланий елемент папка для перевірки результату:

doc автоматично вставити sig до зустрічі 7


Найкращі інструменти продуктивності офісу

Kutools для Outlook - Понад 100 потужних функцій, які покращать ваш Outlook

🤖 AI Mail Assistant: Миттєві професійні електронні листи з магією штучного інтелекту – геніальні відповіді одним клацанням, ідеальний тон, багатомовна майстерність. Трансформуйте електронну пошту без зусиль! ...

???? Автоматизація електронної пошти: Поза офісом (доступно для POP та IMAP)  /  Розклад надсилання електронних листів  /  Автоматична копія/прихована копія за правилами під час надсилання електронної пошти  /  Автоматичне пересилання (розширені правила)   /  Автоматично додавати привітання   /  Автоматично розділяйте електронні листи кількох одержувачів на окремі повідомлення ...

📨 Управління електронною поштою: Легко відкликайте електронні листи  /  Блокуйте шахрайські електронні листи за темами та іншими  /  Видалити повторювані електронні листи  /  розширений пошук  /  Консолідація папок ...

📁 Вкладення ProПакетне збереження  /  Пакетне від'єднання  /  Пакетний компрес  /  Автозавантаження   /  Автоматичне від'єднання  /  Автокомпресія ...

???? Магія інтерфейсу: 😊Більше красивих і класних смайликів   /  Підвищте продуктивність Outlook за допомогою вкладок  /  Згорніть Outlook замість того, щоб закривати ...

👍 Дива в один клік: Відповісти всім із вхідними вкладеннями  /   Антифішингові електронні листи  /  🕘Показувати часовий пояс відправника ...

👩🏼‍🤝‍👩🏻 Контакти та календар: Пакетне додавання контактів із вибраних електронних листів  /  Розділіть групу контактів на окремі групи  /  Видаліть нагадування про день народження ...

більше Особливості 100 Чекайте на ваше дослідження! Натисніть тут, щоб дізнатися більше.

 

 

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