Remove extra line above signature in reply

Jaroslav

New Member
Outlook version
Outlook 2010 64 bit
Email Account
Exchange Server
#1
Hello,
I put together simple code to reply to selected email. It takes some predefined text and adds HTMLbody of the reply item. The problem is, when creating reply message, outlook puts two blank lines above signature by default. Normally, this doesn´t matter as I start writing on the first line, while the second line serves as separator between text and signature. When replying with VBA, however, both blank lines remain between the text and signature. Maybe I am being petty, but is there a way to keep just one of these lines? I searched the internets back and forth to no avail, so any help would be appreciated greatly.
 
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
#3
well, it looks like its not going away here - i swear it did before.

using insertbefore method from Add Attachment Names to Message Before Sending - it doesn't add an extra line.

This is my sample test code using that method.

Code:
Sub CreateReply()
Dim Item As MailItem
Dim oForward  As MailItem

    Dim olInspector As Outlook.Inspector
    Dim olDocument As Word.Document
    Dim olSelection As Word.Selection
     
Set Item = Application.ActiveExplorer.Selection.Item(1)
Set oForward = Item.Forward
oForward.Display
      
    Set olInspector = Application.ActiveInspector()
    Set olDocument = olInspector.WordEditor
    Set olSelection = olDocument.Application.Selection

olSelection.HomeKey Unit:=wdStory
olSelection.InsertBefore "the text "
End Sub
 

Jaroslav

New Member
Outlook version
Outlook 2010 64 bit
Email Account
Exchange Server
#4
Insertbefore works great. I just changed Item.Forward to Item.Reply and had to use vblf instead if HTML tags for line breaks. Thank you very much Diane
 
Outlook version
Outlook 2016 64 bit
Email Account
Office 365 Exchange
#5
Hello! I know this forum is from sometime ago but it's the closest thing I have found to my problem. I have this macro in excel VBA to generate email by batches from information in excel. The only problem I have is the extra line between the last sentence and the signature, any idea how can I delete it?

Option Explicit
Sub Example()
Dim olApp As Object
Dim olMail As Object
Dim olRecip As Object
Dim olAtmt As Object
Dim iRow As Long
Dim Recip As String
Dim Subject As String
Dim Atmt As String


iRow = 2

Set olApp = CreateObject("Outlook.Application")

Do Until IsEmpty(Cells(iRow, 1))

Recip = Cells(iRow, 1).Value
Subject = Cells(iRow, 3).Value
Atmt = Cells(iRow, 4).Value ' Attachment Path


Set olMail = olApp.CreateItem(0)

With olMail
Set olRecip = .Recipients.Add(Recip)
.Display
.Subject = Subject
.HTMLbody = "<html><body><p>Dear " & Cells(iRow, 2).Value & "," & "<br>" & "<br>" & "message 1" & "<br>" & "<br>" & "message 1" & "<br>" & "<br>" & "Congratulations!" & .HTMLbody
Set olAtmt = .Attachments.Add(Atmt)
olRecip.Resolve
.Save
.Close 1


End With

iRow = iRow + 1

Loop

Set olApp = Nothing
Exit Sub

End Sub

I looks like this:

Dear Mr. Example 2,

message 1

message 1

Congratulations!


Signature

Thank you in advance!
 
Outlook version
Outlook 2016 32 bit
Email Account
Office 365 Exchange
#6
It's probably because the body has an extra line above it in the body. Actually, by the looks of it, there are two lines...
sig-ex.png


is there anything in the message body besides the signature and what you add via code?
.HTMLbody = "<html><body><p>Dear " & Cells(iRow, 2).Value & "," & "<br>" & "<br>" & "message 1" & "<br>" & "<br>" & "message 1" & "<br>" & "<br>" & "Congratulations!" & .HTMLbody

It could also be due to the code you are using, but i dont think so - you dont need <html><body> and don't have a closing p after congrats. "Congratulations! </p>" &

if the signature is the only thing picked up by & .htmlbody, you can use file system objects to insert the signature.
Insert or change an Outlook signature using VBA - use the dim strBuffer to the signature close line code in your code above (you can put it before setting outlook object) then change the html body line to .HTMLBody = "<p>Something here.</p><p> </p>" & strBuffer - remove the extra paragraph if needed.
 

Similar threads

Top