Hi,

Here is a function I wrote a couple of months back to create a signature in outlook using word, which is the correct way to do it apparently.
MS Scripting Guy

I have tested this for Office 2003/2007, should also work for Office XP but not Office 2000. If you need it for Office 2000 the let me know and i'll post the code for that.

This will create a signature and a reply.

 Code:
 
CreateOutlookSignature() 

Function CreateOutlookSignature()

$objSysInfo 	= CreateObject("ADSystemInfo")
$strUser 	= $objSysInfo.UserName
$objUser	= GetObject("LDAP://" + $strUser)
$strFullName 	= $objUser.FullName
$strSN 		= $objUser.sn
$strmobile 	= $objUser.mobile
$strTitle 	= $objUser.Title
$strDepartment  = $objUser.Department
$strCompany 	= $objUser.Company
$strPhone 	= $objUser.telephoneNumber
$strGivenName 	= $objUser.givenname
$strMail 	= $objUser.mail

$objWord 	= CreateObject("Word.Application")
$objDoc 	= $objWord.Documents.Add()
$objSelection 	= $objWord.Selection

$objSelection.TypeText("Kind Regards,")
$objSelection.TypeText(Chr(11))
$objSelection.TypeText(Chr(11))
$objSelection.TypeText($strGivenName + " " + $strSN)
$objSelection.TypeText(Chr(11))
$objSelection.TypeText($strTitle)
$objSelection.TypeText(Chr(11))
$objSelection.TypeText(Chr(11))
$objSelection.TypeText($strCompany)
$objSelection.TypeText(Chr(11))
$objSelection.TypeText("P: " + $strPhone)
$objSelection.TypeText(Chr(11))
$objSelection.TypeText("M: " + $strmobile)
$objSelection.TypeText(Chr(11))
$objSelection.TypeText($strmail)

$objSelection 	= $objDoc.Range()
$objSelection.Font.Name = "Arial"
$objSelection.Font.Size = 10


$Discard = $objWord.EmailOptions.EmailSignature.EmailSignatureEntries.Add('Signature',$objSelection)
$objWord.EmailOptions.EmailSignature.NewMessageSignature = 'CSE_Signature'

 
$objDoc.Saved = 1
$objWord.Quit

;Reply
$objWord 	= CreateObject("Word.Application")
$objDoc 	= $objWord.Documents.Add()
$objSelection 	= $objWord.Selection

$objSelection.TypeText("Kind Regards,")
$objSelection.TypeText(Chr(11))
$objSelection.TypeText(Chr(11))
$objSelection.TypeText($strGivenName + " " + $strSN)
$objSelection.TypeText(Chr(11))
$objSelection.TypeText($strTitle)

$objSelection 	        = $objDoc.Range()
$objSelection.Font.Name = "Arial"
$objSelection.Font.Size = 10

$Discard = $objWord.EmailOptions.EmailSignature.EmailSignatureEntries.Add('Reply',$objSelection)
$objWord.EmailOptions.EmailSignature.ReplyMessageSignature = 'CSE_Reply'

$objDoc.Saved = 1
$objWord.Quit

EndFunction 


Edited by oneill3 (2007-11-29 12:45 PM)