![]() |
If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Search this Thread | Display Modes |
|
#1
|
|||
|
|||
![]()
All,
I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
#2
|
|||
|
|||
![]()
Also let me post some code snippetts that I have:
Sub AMS360_Online_DBExtraction() Dim myOLApp As New Outlook.Application Dim myOLItem As Outlook.MailItem Dim txtToAddress As String Dim txtOrderNumber As String Dim txtAgency As String Dim txtQID As String txtToAddress = InputBox("Please insert in a To: email address", "To:") txtOrderNumber = InputBox("Please insert in an order number.", "Order Number") txtQID = InputBox("Please insert in the agency id.", "Agency QID") txtAgency = InputBox("Please insert in the agency name.", "Agency Name") Set myOLItem = myOLApp.CreateItemFromTemplate("U:\Outlook Templates\360_DBExtraction.oft") With myOLItem ..SentOnBehalfOfName = "CLL - AFW/AMS 360 Support" ..To = Trim(txtToAddress) ..BCC = "CLL - AFW-Online Data Center" ..Subject = " AMS360 Backup Completed | " & Trim(txtOrderNumber) & " | " & Trim(txtAgency) & " | " & Trim(txtQID) & " | AMS360 Backup" End With myOLItem.Display End Sub I considered doing everything through the .HTMLBody method, but the HTML code is essentially word "trash" code and I didn't want to have to clean it all up if need be. What I would really like to do is define 4 ro so fields as variables in the oft file that can be set via an input box variable upon launch of the code... I am not sure if that helps narrow it down somewhat, but hopefully it should. |
#3
|
|||
|
|||
![]()
I've done this by using placeholders in the HTML where the data from the InputBox result should go. For example, put %Field1% where you want one bit of data to appear, then use something like:
htmlText = Replace(htmlText, "%Field1%", "New Text") myMessage.HTMLBody = htmlText -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "Nathan" wrote in message ... All, I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
#4
|
|||
|
|||
![]()
Sue, Thanks for you quick response! Using this method how would I get VBA
to do a find through either the .oft file or through an HTM/HTML file to find the field and replace with the inputbox variable? Also can I define a full file and designate that as a variable that I can then set the .htmlbody method to? Nathan Bell "Sue Mosher [MVP-Outlook]" wrote: I've done this by using placeholders in the HTML where the data from the InputBox result should go. For example, put %Field1% where you want one bit of data to appear, then use something like: htmlText = Replace(htmlText, "%Field1%", "New Text") myMessage.HTMLBody = htmlText -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "Nathan" wrote in message ... All, I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
#5
|
|||
|
|||
![]()
In both cases, you need a string variable to contain the fully tagged HTML content.
..oft file -- load it with Application.CreateItemFromTemplate,then get its HTMLBody property ..txt file -- read the text into a variable with FileSystemObject methods; see http://msdn.microsoft.com/library/en...jsfsotutor.asp I am assuming like this: Set itm = Application.CreateItemFromTemplate("C:\myfile.oft" ) itm.HTMLBody = Replace(itm.HTMLBody, "%name%", "customer_name") Exactly. -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "Nathan" wrote in message ... Sue, Thanks for you quick response! Using this method how would I get VBA to do a find through either the .oft file or through an HTM/HTML file to find the field and replace with the inputbox variable? Also can I define a full file and designate that as a variable that I can then set the ..htmlbody method to? Nathan Bell "Sue Mosher [MVP-Outlook]" wrote: I've done this by using placeholders in the HTML where the data from the InputBox result should go. For example, put %Field1% where you want one bit of data to appear, then use something like: htmlText = Replace(htmlText, "%Field1%", "New Text") myMessage.HTMLBody = htmlText "Nathan" wrote in message ... All, I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
#6
|
|||
|
|||
![]()
Sue,
Thanks again for you help, that worked as intended, only one last snag, that I don't think I can get around.....I am dynamically trying to change a tracking order link using a place holder in the HTML tag itself, can this be done easily using teh same described method? "Sue Mosher [MVP-Outlook]" wrote: In both cases, you need a string variable to contain the fully tagged HTML content. ..oft file -- load it with Application.CreateItemFromTemplate,then get its HTMLBody property ..txt file -- read the text into a variable with FileSystemObject methods; see http://msdn.microsoft.com/library/en...jsfsotutor.asp I am assuming like this: Set itm = Application.CreateItemFromTemplate("C:\myfile.oft" ) itm.HTMLBody = Replace(itm.HTMLBody, "%name%", "customer_name") Exactly. -- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "Nathan" wrote in message ... Sue, Thanks for you quick response! Using this method how would I get VBA to do a find through either the .oft file or through an HTM/HTML file to find the field and replace with the inputbox variable? Also can I define a full file and designate that as a variable that I can then set the ..htmlbody method to? Nathan Bell "Sue Mosher [MVP-Outlook]" wrote: I've done this by using placeholders in the HTML where the data from the InputBox result should go. For example, put %Field1% where you want one bit of data to appear, then use something like: htmlText = Replace(htmlText, "%Field1%", "New Text") myMessage.HTMLBody = htmlText "Nathan" wrote in message ... All, I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
#7
|
|||
|
|||
![]()
I don't see why not. It's all just text.
-- Sue Mosher, Outlook MVP Author of Microsoft Outlook 2007 Programming: Jumpstart for Power Users and Administrators http://www.outlookcode.com/article.aspx?id=54 "Nathan" wrote in message ... Sue, Thanks again for you help, that worked as intended, only one last snag, that I don't think I can get around.....I am dynamically trying to change a tracking order link using a place holder in the HTML tag itself, can this be done easily using teh same described method? "Sue Mosher [MVP-Outlook]" wrote: In both cases, you need a string variable to contain the fully tagged HTML content. ..oft file -- load it with Application.CreateItemFromTemplate,then get its HTMLBody property ..txt file -- read the text into a variable with FileSystemObject methods; see http://msdn.microsoft.com/library/en...jsfsotutor.asp I am assuming like this: Set itm = Application.CreateItemFromTemplate("C:\myfile.oft" ) itm.HTMLBody = Replace(itm.HTMLBody, "%name%", "customer_name") Exactly. "Nathan" wrote in message ... Sue, Thanks for you quick response! Using this method how would I get VBA to do a find through either the .oft file or through an HTM/HTML file to find the field and replace with the inputbox variable? Also can I define a full file and designate that as a variable that I can then set the ...htmlbody method to? Nathan Bell "Sue Mosher [MVP-Outlook]" wrote: I've done this by using placeholders in the HTML where the data from the InputBox result should go. For example, put %Field1% where you want one bit of data to appear, then use something like: htmlText = Replace(htmlText, "%Field1%", "New Text") myMessage.HTMLBody = htmlText "Nathan" wrote in message ... All, I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
#8
|
|||
|
|||
![]()
I am assuming like this:
Set itm = Application.CreateItemFromTemplate("C:\myfile.oft" ) itm.HTMLBody = Replace(itm.HTMLBody, "%name%", "customer_name") I found it in an old forum post of yours off of lockergnome, is that correct? "Nathan" wrote: All, I have a complex HTML e-mail message that I want to be able to customize using variable in VBA. I don't want to have to go through the entire HTML maessage and include in the the .htmlbody when creating a new message. I would perfer to somehow pass variables that are set via an input box and then pass them into the message in a template? Some variables are just text in the message with HTML formatting and some variables are text+part of a hyplerlink. Does anyone know wuick way to achieve this, I am just spinning my wheels... |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Global Variables/Session Variables | dch3 | Outlook and VBA | 2 | May 31st 07 02:11 PM |
Automated answer-template with "dyn." html | Jens Sommer | Outlook and VBA | 3 | April 4th 07 07:12 AM |
Mail Form variables not passed | Buyersusa | Outlook Express | 1 | December 22nd 06 04:15 AM |
build a string from HTML to modify template | Bob | Outlook and VBA | 2 | December 15th 06 08:34 PM |
Embedding html and text files in an email template. | Maria | Outlook - General Queries | 0 | October 31st 06 11:32 PM |