Я пытался и читал, но не могу найти решение этой проблемы. У меня есть файл Excel, где, когда пользователь нажимает кнопку:
А) диапазон выбирается и копируется в буфер обмена
Б) Новое сообщение Outlook открывается на основе шаблона
В) Электронная почта будет отправлена «от имени» вместо имени / учетной записи пользователя.
Затем пользователь должен добавить дату в электронное письмо и вставить скопированный диапазон в определенную часть шаблона. Это все нормально и работает НО !!! Outlook автоматически добавляет подпись пользователей в конец электронного письма, и это нежелательно.
Это код, который я сейчас использую:
Sub SelectArea()
Application.ScreenUpdating = False
lastCol = ActiveSheet.Range("a1").End(xlToRight).Column - 2
lastRow = ActiveSheet.Cells(500, lastCol).End(xlUp).Row
ActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Copy
Dim OutApp As Outlook.Application
Dim OutMail As Outlook.MailItem
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItemFromTemplate("\\network\path\to\the\MailTemplate.oft")
With OutMail
.SentOnBehalfOfName = """DepartmentX"" <[email protected]>"
.Display
End With
Application.ScreenUpdating = True
End Sub
В настоящее время нет подписки на удаление подписи, потому что я не мог заставить ее работать. Раньше был внутри "с OutMail", но сам саб не работал. Я даже протестировал пример с сайта Microsoft 1: 1, но все равно не смог заставить его работать.
Код от Microsoft выглядит следующим образом:
Sub TestDeleteSig()
Dim objOL As Outlook.Application
Dim objMsg As Outlook.MailItem
Set objOL = CreateObject("Outlook.Application")
Set objMsg = objOL.CreateItem(olMailItem)
objMsg.Display
Call DeleteSig(objMsg)
Set objMsg = Nothing
End Sub
Sub DeleteSig(msg As Outlook.MailItem)
Dim objDoc As Word.Document
Dim objBkm As Word.Bookmark
On Error Resume Next
Set objDoc = msg.GetInspector.WordEditor
Set objBkm = objDoc.Bookmarks("_MailAutoSig")
If Not objBkm Is Nothing Then
objBkm.Select
objDoc.Windows(1).Selection.Delete
End If
Set objDoc = Nothing
Set objBkm = Nothing
End Sub
Он открывает новое электронное сообщение (с подписью) и выдает ошибку компиляции. «Пользовательский тип не определен». Он помечает «Sub DeleteSig (msg As Outlook.MailItem)» желтым цветом и выделяет «objDoc As Word.Documen» синим цветом. ... и вот где он меня теряет :(
Может ли кто-нибудь здесь пролить свет на это? Это будет высоко ценится.
С уважением.