Пользователи должны отправлять текстовые документы в теле письма (а не в виде вложения) и включать подпись во всю переписку.

В настоящее время пользователи используют функцию « Send to Mail Recipient , которая вставляет документ в тело письма, однако они не могут автоматически добавить свою подпись и должны добавлять ее вручную при каждом письме. Насколько я понимаю, это связано с тем, что почтовый фрагмент, встроенный в Word, отличается от полной версии Outlook.

Обычная команда E-Mail в Word вызовет новое сообщение электронной почты с их подписью, однако документ является вложением, а не в теле письма.

Есть ли способ заставить Word отправлять его содержимое в теле письма и автоматически вставлять подпись пользователя?

Я ищу решение, которое будет работать как в Office 2007, так и в 2010 году, и с макросами все в порядке.

1 ответ1

1

Я нашел макрос Word для включения этой функции на HowTo-Outlook.com, в « Отправить документ Word по электронной почте »:

Sub SendDocAsMail()

Dim oOutlookApp As Outlook.Application
Dim oItem As Outlook.MailItem

On Error Resume Next

'Start Outlook if it isn't running
Set oOutlookApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
    Set oOutlookApp = CreateObject("Outlook.Application")
End If

'Create a new message
Set oItem = oOutlookApp.CreateItem(olMailItem)

'Allow the user to write a short intro and put it at the top of the body
Dim msgIntro As String
msgIntro = InputBox("Write a short intro to put above your default " & _
            "signature and current document." & vbCrLf & vbCrLf & _
            "Press Cancel to create the mail without intro and " & _
            "signature.", "Intro")

'Copy the open document
Selection.WholeStory
Selection.Copy
Selection.End = True

'Set the WordEditor
Dim objInsp As Outlook.Inspector
Dim wdEditor As Word.Document
Set objInsp = oItem.GetInspector
Set wdEditor = objInsp.WordEditor

'Write the intro if specified
Dim i As Integer
If msgIntro = IsNothing Then
    i = 1
    'Comment the next line to leave your default signature below the document
    wdEditor.Content.Delete
Else
    'Write the intro above the signature
    wdEditor.Characters(1).InsertBefore (msgIntro)
    i = wdEditor.Characters.Count
    wdEditor.Characters(i).InlineShapes.AddHorizontalLineStandard
    wdEditor.Characters(i + 1).InsertParagraph
    i = i + 2
End If

'Place the current document under the intro and signature
wdEditor.Characters(i).PasteAndFormat (wdFormatOriginalFormatting)

'Display the message
oItem.Display

'Clean up
Set oItem = Nothing
Set oOutlookApp = Nothing
Set objInsp = Nothing
Set wdEditor = Nothing

End Sub

Если вам нужна пошаговая помощь по вводу макроса в Word, то фактическая (указанная выше) ссылка имеет это, включая изображения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .