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