How to retrive Outllok default signature

The Outlook signatures are stored in the %APPDATA%\Microsoft\Signatures\ folder in text, RTF and HTML formats.
In case of multiple signatures, the default can be found through Word automation. Tested in Outlook 2003 and later.

This is sample code. Add error handling and adjust to your requirements as necessary.

* The folder name where signatures are stored depends on the Windows language version
* English
lcFilePath = GETENV("APPDATA") + "\Microsoft\Signatures\"
* Spanish 
*lcFilePath = GETENV("APPDATA") + "\Microsoft\Firmas\"
 
loWord = CREATEOBJECT("Word.Application")
loEmOpt = loWord.EmailOptions
loOlSig = loEmOpt.EmailSignature
lcSigFileName = ALLTRIM(loOlSig.NewMessageSignature )
* Text signature
lcPathAndFile = lcFilePath + lcSigFileName + ".txt"
IF FILE(lcPathAndFile )
	lcTextIn = FILETOSTR(lcPathAndFile  )
 
	IF  LEFT( lcTextIn ,2) = 0hFFFE
		* Remove Unicode header
		lcTextIn = SUBSTR(lcTextIn,3)		
	ENDIF	
 
	lcFileContent = STRCONV(lcTextIn ,6)	
	? lcFileContent 
ENDIF
Your rating: None Average: 4 (1 vote)

FIX for Spanish version of Windows

* FIX for Spanish version of Windows
lcFilePath = GETENV("APPDATA") + "\Microsoft\Signatures\"
loWord = CREATEOBJECT("Word.Application")
loEmOpt = loWord.EmailOptions
loOlSig = loEmOpt.EmailSignature
lcSigFileName = ALLTRIM(loOlSig.NewMessageSignature )
* Text signature
lcPathAndFile = lcFilePath + lcSigFileName + ".txt"
? lcPathAndFile
IF NOT FILE(lcPathAndFile )
	lcPathAndFile = Strtran(lcPathAndFile,"\Signatures\","\Firmas\")
	? lcPathAndFile
EndIf 	
IF FILE(lcPathAndFile )
	lcTextIn = FILETOSTR(lcPathAndFile  )
 
	IF  LEFT( lcTextIn ,2) = 0hFFFE
		* Remove Unicode header
		lcTextIn = SUBSTR(lcTextIn,3)		
	ENDIF	
 
	lcFileContent = STRCONV(lcTextIn ,6)	
	? lcFileContent 
EndIf

Re: FIX for Spanish version of Windows

Thanks, I adjusted the code per your suggestion.