Jump to content

Recommended Posts

Posted

Hi All,

 

I've modified this code somewhat to suit my organisations requirements but need some assistance if possible.

 

What I need to do is supress the M: field if there is no data, currently writes M: and leaves it blank in the signature.

 

I hope I've made sense.

 

'Switch for dev mode (true, false)
DevMode = false

'Default links for office
sURLWWW = "http://www.amtek-group.co.uk"
sURLLinkedin = "https://www.linkedin.com/company/amtek-engineering-solutions/"
sURLCert = "http://qz7.a67.myftpupload.com/iso-90012015-certificate/"

'Setup script functions for calls to file system
Set WshShell = WScript.CreateObject("WScript.Shell")
Set FileSysObj = CreateObject("Scripting.FileSystemObject")
strQuteChr = chr(34)

if DevMode then
msgbox "Devmode is ON"
strDesktop = WshShell.SpecialFolders("Desktop")
SigFolder = strDesktop & "\sigs\"
SigFile = SigFolder & "sig_dev.htm"
       SigFileTxt = SigFolder & "sig_dev.txt"
else
'create the objects and set the initial vars
Set objADSysInfo = CreateObject("ADSystemInfo")
Set UserObj = GetObject("LDAP://" & objADSysInfo.UserName)
strAppData = WshShell.ExpandEnvironmentStrings("%APPDATA%")
SigFolder = StrAppData & "\Microsoft\Signatures\"
SigFile = SigFolder & UserObj.sAMAccountName & ".htm"
SigFileTxt = SigFolder & UserObj.sAMAccountName & ".txt"
End If

'check the existence of the sig dir, if not there create it
if not FileSysObj.FolderExists(SigFolder) then
FileSysObj.CreateFolder(SigFolder)
end if

if DevMode then
sUserName = "dev"
sFullName = "Employee Full Name"
sPosition = "Employee Job Description"
sMobile = "0400 123 456"
sEmail = "[email protected]"
sCompany = "Company Name Pty Ltd"
sOfficePhone = "(03) 6300 1111"
sOfficeFax = "(03) 6300 2222"
else
'Get User Data from Active Directory
sUserName = UserObj.sAMAccountName
sFullName = UserObj.displayname
sPosition = UserObj.title
sMobile = UserObj.mobile
sEmail = UserObj.mail
sCompany = UserObj.company
sOfficePhone = UserObj.telephoneNumber
sOfficeFax = UserObj.facsimileTelephoneNumber
       sStreetAddress = UserObj.streetAddress
       sSt = UserObj.st
       sL = UserObj.l
       sPostalCode = UserObj.postalCode
       sDepartment = UserObj.department
end if

'drop mobile number if personal
if left(sMobile,1) = "p" then sMobile = ""

'create the htm file and start adding content
Set CreateSigFile = FileSysObj.CreateTextFile (SigFile, 8, False)
Set CreateSigFileTxt = FileSysObj.CreateTextFile (SigFileTxt, 8, False)

'html head
CreateSigFile.WriteLine ""
CreateSigFile.WriteLine "Outlook Signature"
CreateSigFile.WriteLine ""
CreateSigFile.WriteLine ""
CreateSigFile.WriteLine ""<br />
CreateSigFile.WriteLine "p {font-family:Calibri, Arial; font-size:11pt; color:#000; vertical-align:text-top;}"<br />
CreateSigFile.WriteLine ".disclaimer {font-size:8pt; color:#999;}"<br />
CreateSigFile.WriteLine ".name {font-size:12pt; color:#000}"<br />
CreateSigFile.WriteLine ".company {font-size:11pt; color:#000}"<br />
CreateSigFile.WriteLine ".title {font-size:11pt; color:#666;}"'<br />
CreateSigFile.WriteLine ""

'html body
CreateSigFile.WriteLine ""
CreateSigFile.WriteLine "
" & sFullName & "  " & sDepartment & "
"
CreateSigFile.WriteLine "" & sPosition & "
"
CreateSigFile.WriteLine "" & sEmail & "      " & s & ""
CreateSigFile.WriteLine "
 & "
CreateSigFile.WriteLine "
" & sCompany & "
"
CreateSigFile.WriteLine " " & sStreetAddress & "
"
CreateSigFile.WriteLine " " & sL & "
"
CreateSigFile.WriteLine " " & sSt & " " & sPostalCode & "
"
CreateSigFile.WriteLine "P: " & sOfficePhone & "
"
CreateSigFile.WriteLine "M: "& sMobile & "
"
CreateSigFile.WriteLine "F: " & sOfficeFax & ""
CreateSigFile.WriteLine " & "
CreateSigFile.WriteLine " & "
CreateSigFile.WriteLine ""

'close the signature file
CreateSigFile.Close

CreateSigFileTxt.WriteLine sFullName
CreateSigFileTxt.WriteLine sPosition
if not sMobile = "" then 
CreateSigFileTxt.WriteLine sMobile & "    " & LCase(sEmail)
else
CreateSigFileTxt.WriteLine LCase(sEmail)
end if
CreateSigFileTxt.WriteLine ""
CreateSigFileTxt.WriteLine sCompany 
CreateSigFileTxt.WriteLine "Address"
CreateSigFileTxt.WriteLine sOfficePhone 
CreateSigFileTxt.WriteLine sURLWWW 
CreateSigFileTxt.WriteLine ""
CreateSigFileTxt.WriteLine ""

'close the txt signature file
CreateSigFileTxt.Close

if not DevMode then
       'Set the signature as default for new and reply
Set objWord = CreateObject("Word.Application")
Set objSignatureObjects = objWord.EmailOptions.EmailSignature
objSignatureObjects.NewMessageSignature = sUserName
objSignatureObjects.ReplyMessageSignature = sUserName
objWord.Quit
End If

Posted

You just need to check for the value of sMobile before writing this, in your html body section.

CreateSigFile.WriteLine "M: "& sMobile & "
"

This is why you get the "M: " written out - it writes the string, but has nothing to write for sMobile so leaves that blank.

 

Have you considered IsNullOrEmpty? Technet Article.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



×
×
  • Create New...