Skip to content

Instantly share code, notes, and snippets.

@frenchesco
Created June 26, 2013 00:11
Show Gist options
  • Star 7 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save frenchesco/5863658 to your computer and use it in GitHub Desktop.
Save frenchesco/5863658 to your computer and use it in GitHub Desktop.
AutoHotkey Text Expansion for the Email Templates by Bea Kylene Jumarang for Smashing Magazine: http://www.smashingmagazine.com/2013/06/20/email-templates-web-designers-developers-pdf-odt-txt/
; ----------------------------------------------------------
; E-MAIL TEMPLATES FOR WEB DESIGNERS AND DEVELOPERS
; Prepared by Bea Kylene Jumarang for Smashing Magazine
; http://www.smashingmagazine.com/2013/06/20/email-templates-web-designers-developers-pdf-odt-txt/
; ----------------------------------------------------------
; Adapted as a Autohotkey script by Marc Gordon
; ----------------------------------------------------------
; Instructions:
; 1) Install Autohotkey.
; 2) Modify the greeting if you want in GetGreeting() below.
; 3) Modify the signature in GetSignature() below.
; 4) If you are female modify the gender in GetGender() below.
; 5) Enter your name in GetYourName() below.
; 6) Modify your contact details in GetContactDetails() below.
; 7) Run the script with Autohotkey.
; - To activate the replacement type:
; ,es for the email subject
; ,eb for the email body
; - Then hit enter and a list box will be displayed listing
; the email types.
; - Choose the one you want to use to have it expand out.
; ----------------------------------------------------------
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
CoordMode, Caret
GetGreeting()
{
InputBox, client_name, Enter Client Name, Please enter the client's name.
text = Hi %client_name%,
; If you want to modify the greeting you can do this here:
return text
}
GetSignature()
{
; Enter your contact details here:
text = [Your name here.]{Enter}[Contact details, website.]
return text
}
GetGender()
{
; If you are female change this to return female
text = male
return text
}
GetYourName()
{
; Enter your name below
text = [your name]
return text
}
GetContactDetails()
{
; Enter your contact details below (keep it to one line.)
text = [your e-mail address, phone, website]
return text
}
; -------------------------------
; 1 - THE DREADED PRICE EMAIL
; -------------------------------
; First, try to defer talking about price if you don't have the full details yet. I do this all the time with prospective writing clients of mine. Say you'll send them an accurate response if they share some thoughts on what they're looking for. But if they budge, go ahead and send this. Be done with it.
EmailSubject01()
{
send Answer to your question on my rates
}
EmailTemplate01()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_rate, Enter your rate amount, Please enter rate amount
InputBox, y_work, Enter a short description of work to be completed, Please enter a short description of the work to be completed.
InputBox, z_matter, Enter the original matter, Please enter the original matter
text =
(
%greeting%
My rate varies, depending on the project and its scope. Generally though, my rate is %x_rate% for %y_work%, just so you have a ballpark idea.
If you'll send me more details about the kind of work you have in mind, I can send you a more accurate quote. For now though, let's get back to where we were, regarding %z_matter%, and we can discuss price when more info is present.
Regards,
%signature%
)
send %text%
}
; ----------------------------------------------
; 2 - YOU HAVE QUESTIONS ON THE DESIGN BRIEF
; ----------------------------------------------
; Trust me, it's best to get questions ironed out before the project starts. Your client will appreciate your initiative, and your willingness to approach them when help's really needed. It's always better to swallow a bit of pride and ask, than to wallow in confusion and cause problems down the road.
EmailSubject02()
{
send Some questions on the design brief
}
EmailTemplate02()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
I appreciate your quick provision of the design brief. It's really allowed me to get a good idea of where you want this project to go. I'm excited to start work{!}
I just have a few questions to clear up before we go full steam ahead.
- X question
- Y question
- Z question
If you could get back to me with your input by %time_date%, that'd be great. If you also have things you'd like to discuss, please reach out.
It's always best if we're on the same page.
Thanks,
%signature%{UP 8}{END}+{HOME}+{UP 2}
)
send %text%
}
; ---------------------------------------------------------
; 3 - YOU ARE SENDING THE OFFICIAL PLAN TO A NEW CLIENT
; ---------------------------------------------------------
; To make sure your new client has a good image of you from the outset, show them how professional you are, from the start. Send them this e-mail along with the project plan, and they're sure to love your work ethics.
EmailSubject03()
{
send Would love your input, project plan attached
}
EmailTemplate03()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_dollars, Enter the estimated cost, Please enter the estimated cost for the project.
InputBox, y_amount, Enter the estimated time, Please enter the estimated time to complete the project.
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
To start, thanks for your vote of trust. I'll be working hard to make sure you love your decision to work with me - that's a promise.
Anyhow, I've attached the official project plan here, for your input. Below are the main points, in case you don't have time to read the full plan yet.
- Total estimated cost is %x_dollars%
- Estimated time is %y_amount%
- Other important point
- Other important point
If you could send me your comments by %time_date%, I'd appreciate it.
Should you have things you want to discuss, please feel free to reach out. If a meeting's needed, I'm okay with that as well.
Thanks again for your business, and I look forward to starting work!
Regards,
%signature%{UP 10}{END}+{HOME}+{UP 1}
)
send %text%
}
; --------------------------------------------------------------
; 4 - THE OFFICIAL PLAN IS DAMN FAR FROM YOUR EARLY ESTIMATE
; --------------------------------------------------------------
; There are times when you make an estimate and then send it through e-mail. If all goes well, this estimate is reflected in the official plan, without very many changes. But for those times when big departures have to be made, take heart.
EmailSubject04()
{
send Official project plan - based on recent info
}
EmailTemplate04()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_time, Enter the time, Please enter the estimated time for completing the project.
InputBox, y_cost, Enter the estimated cost, Please enter the estimated cost for the project.
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
Two things here.
First, thanks for providing full details regarding the project you want us to work on together. I've prepped the project plan based on the info you gave.
The plan's attached here, for your evaluation.
Second, I'd like to inform you of the revised estimate reflected in the plan.
Very briefly - the project will now take %x_time%, for %y_cost%.
I'm aware this is far from the earlier estimates I talked about with you. I've given the official figures a lot of thought, and I believe they're fair, considering the work to be done on both of our ends.
To close, please send me your feedback on the plan by %time_date%.
Then, we can work out an arrangement that's a win for both of us.
Regards,
%signature%
)
send %text%
}
; --------------------------------------------------------
; 5 - SCOPE CREEP IS HAPPENING BUT CAN BE ACCOMMODATED
; --------------------------------------------------------
; I've yet to see large projects that don't have scope creep, one way or another. Still, it's important to manage the creep, quickly and proactively. Otherwise, the project will bloat, and that brings a completely new set of problems.
EmailSubject05()
{
send A quick note on your new requirements
}
EmailTemplate05()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
Thanks for providing input for the project - I appreciate your direction!
Regarding the changes we talked about, I'm happy to tell you that they can be accommodated. But since they weren't part of our initial agreement, they've caused shifts in the plan for this project.
That revised plan is attached, showing the new timelines and costs associated.
I'd appreciate feedback regarding the attachment by %time_date%, so the design work can get back to its usual speed.
Thanks,
%signature%
)
send %text%
}
; -------------------------------------------------------
; 6 - YOU WON'T BE ABLE TO DELIVER THE DESIGN ON TIME
; -------------------------------------------------------
; Problems like this happen, at one point or another. What's important is that you apologize, don't try to shirk responsibility, and fix the situation fast. If you do that trio of actions, you'll be fine most of the time.
EmailSubject06()
{
send Important notice, and an apology
}
EmailTemplate06()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_y_z_actions, Enter the actions taken to get the project back on track, Please enter the actions that have been taken to get the project back on track.
text =
(
%greeting%
I'm sure this isn't the type of e-mail you expected to get from me. Still, I'd like to deal with the facts as they are, and get a solution in place, ASAP.
So here goes - I'm sorry, but the design won't be delivered on time. There are a couple reasons for this, but rest assured, I take full responsibility.
- X reason
- Y reason
- Z reason
To get the project back on track, I've %x_y_z_actions%.
I'm also taking steps to ensure that we don't go through this headache again.
Anyway, if you'd like to discuss the effects of this issue, feel free to reach out.
Regards,
%signature%{UP 10}{END}+{HOME}+{UP 2}
)
send %text%
}
; ----------------------------------
; 7 - DEALING WITH LATE PAYMENTS
; ----------------------------------
; Thankfully, I've not had to send these e-mails often, and usually, my clients really just forgot to deal with my invoice out of busyness. But, if you're in the position of having to collect a really late payment, read on!
EmailSubject07()
{
InputBox, x_work, Enter the work to be completed, Please enter the work to be completed.
send Your payment for %x_work%
}
EmailTemplate07()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, invoice_date, Enter the invoice date, Please enter the invoice date.
InputBox, services_rendered, Enter the description of services rendered, Please enter a description of the services rendered.
InputBox, x_amount, Enter the invoice amount, Please enter the invoice amount.
InputBox, payment_date, Enter the payment date, Please enter the payment date.
InputBox, alternative_payment_date, Enter the alternative payment date, Please enter an alternative payment date.
text =
(
%greeting%
I recently sent you an invoice dated %invoice_date%, for %services_rendered%. The total reflected in the invoice is %x_amount%.
While I've worked to standards and delivered on time, the equivalent payment still hasn't arrived. As per our agreement, the payment terms are below.
[Insert relevant details here, preferably in italics for emphasis.]
Per those terms, the payment ball is clearly in your court. If you're going through difficulties, let me know, and we'll work to reach a solution together.
Otherwise, I'll be expecting your payment by %payment_date% and will be contacting you on %alternative_payment_date% if any issues still come up.
Thanks,
%signature%{UP 8}{END}+{HOME}
)
send %text%
}
; --------------------------------------------
; 8 - DISCUSSING OTHER ASPECTS OF THE SITE
; --------------------------------------------
; Design is rarely the only thing site owners have to consider. As the one with the knowledge, it's best if you can bring related aspects of site performance and usability to the client's attention. If you do this, you may get not only their respect, but maybe even more dollars out of their wallet.
EmailSubject08()
{
send Wanted to bring these to your attention
}
EmailTemplate08()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_y_z_reasons, Enter the reasons why raised aspects are important, Please enter the reason why the raised aspects are important.
text =
(
%greeting%
As you may know, design isn't the only thing that matters on your website. So, I feel it's my responsibility to make you aware of other related considerations you may need to think about. They're listed.
- First consideration, e.g. site performance
- Second consideration, e.g. usability/functions
- Yet another consideration you thought of
The things above all have an impact on your site and the eventual users. They're important because of %x_y_z_reasons%.
Now, I'm bringing these things to your attention, so we can act on them promptly. If you'd like to talk about what I've shared here, let me know!
Regards,
%signature%{UP 8}{END}+{HOME}+{UP 2}
)
send %text%
}
; --------------------------------------------
; 9 - JUSTIFYING YOUR NEED FOR EXTRA HOURS
; --------------------------------------------
; As I've said before, problems and changes always come up, no matter the project. This is yet another template for such instances. This time it's an e-mail to soften your client's heart towards extra hours.
EmailSubject09()
{
send Important project update
}
EmailTemplate09()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, meeting_date_time, Enter the suggested meeting date/time, Please enter the suggested meeting date/time.
text =
(
%greeting%
I just wanted to tell you about some important project changes.
Per my most recent check of what still needs to get done, I've come to the realization that extra hours are needed, for the reasons below.
- First reason, and why the reason matters
- Second reason, and why the reason matters
- Third reason and so on
I know this is a surprise, and I would have liked to avoid this. But it's still my responsibility to keep you in the loop, especially about changes like these.
If you'd like to discuss the new hours, please do reach out.
Or, we can meet at %meeting_date_time%. If that slot doesn't work, let me know what's most convenient for you.
Thanks,
%signature%{UP 10}{END}+{HOME}+{UP 2}
)
send %text%
}
;; --------------------------------
;; 10 - NO NEED FOR EXTRA HOURS
;; --------------------------------
;; There are rare occasions when you tell the client you need extra hours, but then suddenly, that isn't the case anymore. It's important to be honest on such occasions, and promptly inform the client of the good news.
EmailSubject10()
{
send Some good news for you
}
EmailTemplate10()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, sent_item, Enter the sent item, Please enter the name of the item you sent the client.
InputBox, x_number, Enter the number of extra hours that were requied, Please enter the number of extra hours that were required.
InputBox, x_y_z_reasons, Enter the reasons why the extra hours were required, Please enter the reasons why the extra hours were required.
InputBox, x_amount, Enter the final amount for the project, Please enter the final amount for the project.
text =
(
%greeting%
I recently sent you a %sent_item%, indicating the need for %x_number% extra hours. The reasons for those hours are %x_y_z_reasons%.
On a happier note though, I'd like to tell you that those hours are no longer needed. They'll no longer be billed, and the invoice will reflect that.
For clarity, the total project cost is now %x_amount%.
Everything else remains as is. If you'd like formal documentation to support this change, please let me know and I'll prepare it.
Thank you,
%signature%
)
send %text%
}
; -----------------------------------
; 11 - YOU'RE DECLINING A PROJECT
; -----------------------------------
; Oh, it's a happy day when you have too many projects to accept a new one. In any case, even a declining e-mail can stand as proof of your professionalism, and leave a good impression on someone who may need you in the future.
EmailSubject11()
{
send Sorry, can't take your project on
}
EmailTemplate11()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, inquiry_or_offer_to_hire_me, Enter what you would like to thank the client for, Please enter a description of what you would like to thank the potential client for., , , , , , , ,your inquiry/offer to hire me
InputBox, x_date, Enter the date you will be available to accept new work, Please enter the date you will be available to accept new work.
text =
(
%greeting%
Thanks for %inquiry_or_offer_to_hire_me%.
Unfortunately, I have lots on my plate right now. I won't be able to take you up on your offer. I don't want to accept and yet commit at less than 100 percent.
For now, I'd like to focus on current projects, but I expect to have a free slot open by %x_date%. Would this work for you?
Regards,
%signature%
)
send %text%
}
; -----------------------------------------------------
; 12 - STOPPING WORK BECAUSE OF DELINIQUENT PAYMENT
; -----------------------------------------------------
; All projects have payment risks built into them. You can ask for deposits upfront to mitigate the risk, but sometimes, you'll have to stop work and accept the situation. Still, you should tell your client, so it's clear that you didn't shirk any of your own responsibilities.
EmailSubject12()
{
send Will have to stop work until dues are paid
}
EmailTemplate12()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, payment_date, Enter the payment date, Please enter the payment date.
InputBox, another_date, Enter the date you will be available to accept new work, Please enter the date you will be available to accept new work.
text =
(
%greeting%
This is a situation I'd have preferred to avoid, but we both have to deal with the facts as they are. Due to delinquent payment, work on the project will have to stop. This is per the terms of our agreement.
For our relationship's sake, I'll just assume the invoice fell through the cracks. I'm sending one later today, and hope for your prompt payment by %payment_date%.
I'll also send a reminder by %another_date% if there's still a problem.
Thanks,
%signature%
)
send %text%
}
; ------------------------------------------
; 13 - CLIENT REFUSES TO SIGN A CONTRACT
; ------------------------------------------
; Contracts, whether they're in legalese or in plain language, exist to protect you. For that reason, a client's refusal to sign should throw up a red flag, and you should make it clear you won't work without the right measures in place.
EmailSubject13()
{
send I'd like to clarify something
}
EmailTemplate13()
{
greeting := GetGreeting()
signature := GetSignature()
text =
(
%greeting%
This is just a quick e-mail about the contract I presented to you. You've stated that it's unnecessary, but I really can't share that belief with you.
A contract clarifies our shared responsibilities, and is an important safeguard for both of us. It's an assurance that we'll both comply with what's expected of us, within the bounds of our professional relationship.
For that reason, I really won't work without one. Not only is a contract part of accepted practice, it's also in line with business sensibilities.
I hope you'll understand. Should you wish to discontinue because of the contract requirement, please inform me.
Regards,
%signature%
)
send %text%
}
; ----------------------------------------
; 14 - YOU'LL NEED FUNDS FOR MATERIALS
; ----------------------------------------
; Some designs require outside material, like stock photography or original artwork. Most contracts have a built-in clause that the client pays for these, but it's always prudent to remind the client of that via e-mail.
EmailSubject14()
{
send Materials needed for the design
}
EmailTemplate14()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, state_usage_for_materials, Enter the payment date, Please enter the payment date.
InputBox, x_amount, Enter the total price of the materials, Please enter the total price of the materials.
InputBox, payment_date, Enter the payment date, Please enter the payment date.
InputBox, price_breakdown, Enter the price breakdown, Please enter the price breakdown., , , , , , , ,[amount] for the first item, and [amount] for the next item
text =
(
%greeting%
I'm sending you this to document my request for materials. Specifically, the design requires the following items.
- First material, e.g. a stock photograph at X link
- Second material, e.g. artwork at Y link
Those listed will be used for %state_usage_for_materials%.
The total price for such materials is %x_amount%, broken down as %price_breakdown%.
Per our agreement, the funds for such materials will come from you.
Please reply with your approval, and send the payment over by %payment_date%.
Thanks,
%signature%{UP 12}{END}+{HOME}+{UP}
)
send %text%
}
; --------------------------------
; 15 - YOUR RATES ARE GOING UP
; --------------------------------
; Regularly raising your rates is a normal part of business. This helps protect your margins, and account for things like inflation or higher taxes. Still, higher rates mean disgruntled clients, so it's best to soften them early to the idea.
EmailSubject15()
{
send I'll be raising my rates
}
EmailTemplate15()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, recent_achievements, Enter you recent achievements, Please enter your recent achievements.
text =
(
%greeting%
Since your business is extremely important to me, I'd like to personally explain the reasons for my raised rates.
- X reason
- Y reason
- Z reason
As you're aware, raises like these are an unavoidable part of business. That said, I believe the new rate accurately reflects the equivalent increase in my skills. For example, I've recently %recent_achievements%.
Anyway, if you have questions or clarifications, let me know. I'll be happy to talk through any concerns you may have.
Thanks for your time,
%signature%{UP 8}{END}+{HOME}+{UP 2}
)
send %text%
}
; ----------------------------------
; 16 - REQUEST FOR A TESTIMONIAL
; ----------------------------------
; Testimonials are some of the most powerful marketing materials out there. The best can diffuse objections, increase your credibility, and solidify your reputation. So, it's important to actively gather them when the opportunities present themselves. Don't let your good work go unnoticed!
EmailSubject16()
{
send Can I get your approval for this quote?
}
EmailTemplate16()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
Hope I haven't caught you at a bad time.
Anyway, I'm sure you know how important testimonials are for securing new clients. And since I want to make things super-easy for you, I've pre-written one. You're free to edit it as you like, of course.
[Insert the testimonial you wrote here.]
If the testimonial's okay, can I get your approval to feature it on my site? Also, if you could send a photo by %time_date%, I'd really appreciate it.
Regards,
%signature%{UP 6}{END}+{HOME}
)
send %text%
}
; ---------------------------------
; 17 - REQUEST FOR A CASE STUDY
; ---------------------------------
; Apart from testimonials or social follower numbers, case studies are another form of marketing. If you put effort into making great case studies, you'll greatly reduce prospect objections and fears about what you're offering.
EmailSubject17()
{
send Can I feature you as a case study on my site?
}
EmailTemplate17()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, coffee_time, Enter the time and date you would like to meet the client for coffee, Please enter the time and date that you would like to meet the client for coffee.
InputBox, alternative_free_time, Enter an alternative time that you are free, Please enter an alaternative time that you are free.
text =
(
%greeting%
The subject line pretty much says everything, but I'd like to ask again. Can I feature you as a case study? I think our project had a lot of highlights, and I'm eager to get the word out about our work together.
Specifically, I plan to dig into these main aspects.
- First main aspect you plan to highlight in case study
- Second main aspect to highlight
- Third aspect and so on...
If being featured is okay with you, can we chat over coffee at %coffee_time%? Or if that doesn't work, I'm free on %alternative_free_time%.
Please feel free to suggest a time and day, too.
I look forward to meeting you!
Thanks,
%signature%{UP 10}{END}+{HOME}+{UP 2}
)
send %text%
}
; -------------------------
; 18 - REFERRAL INQUIRY
; -------------------------
; If you do good work, referrals will come of their own accord. But it never hurts to be proactive, and to ask your clients if they know people you can help. At least you get the benefit of their intro, which diffuses some fear on the part of the person you're gonna be contacting.
EmailSubject18()
{
send Know any people I can help?
}
EmailTemplate18()
{
greeting := GetGreeting()
signature := GetSignature()
gender := GetGender()
your_name := GetYourName()
your_contact_details := GetContactDetails()
he_she =
hes_shes =
him_her =
if gender = male
{
he_she = He
hes_shes = he's
him_her = him
}
else
{
he_she = She
hes_shes = she's
him_her = her
}
InputBox, friends_name, Enter the name of the client's friend, Please enter the name of the client's friend.
InputBox, clients_name, Enter the client's name, Please enter the client's name
text =
(
%greeting%
As you probably know, referrals are an important source of customers. So I'd like to check in and ask - do you know people I can help with my skills?
If you do, I've written an intro e-mail you can send them.
^{i}Hi %friends_name%. I'm introducing you to %your_name%. %he_she% is the web designer who did my site, and %hes_shes% great. Solid design skills, good work ethics, and very responsive. I think you'd get some benefit from getting in touch with %him_her%. Contact details - %your_contact_details%.^{i}
Thanks for your help with this, %clients_name%.
Regards,
%signature%
)
send %text%
}
; ----------------------
; Create the listbox
; ----------------------
Gui, Add, ListBox, x0 y0 w400 r7 vSelectedEmail HwndMylist, 01 - The Dreaded Price Email||02 - You Have Questions on the Design Brief|03 - You are Sending the Official Plan to a New Client|04 - The Official Plan is Damn Far from Your Early Estimate|05 - Scope Creep is Happening but can be accommodated|06 - You Won't be able to Deliver the Design on Time|07 - Dealing With Late Payments|08 - Discussing Other aspects of the Site|09 - Justifying Your Need for Extra Hours|10 - No Need for Extra Hours|11 - You're Declining a Project|12 - Stopping Work Because of Deliniquent Payment|13 - Client Refuses to Sign a Contract|14 - You'll Need Funds for Materials|15 - Your Rates are Going Up|16 - Request for a Testimonial|17 - Request for a Case Study|18 - Referral Inquiry
Gui, -Caption +ToolWindow +AlwaysOnTop +LastFound
return
email_trigger_type = body
; ------------------------------
; Trigger the email template
; ------------------------------
; Email Subject
::,es::
email_trigger_type = subject
gui, show
return
; Email Body
::,eb::
email_trigger_type = body
gui, show
return
; ------------------------------
; Trigger the email template
; ------------------------------
#IfWinExist ahk_class AutoHotkeyGUI
; Use the Escape key to hide the drop-down list
Esc::gui, hide
; Use Enter to select an item from the drop-down list
Enter::
gui, submit
emailNumber := SubStr(SelectedEmail, 1, 2)
if email_trigger_type = subject
{
if emailNumber = 01
{
EmailSubject01()
}
if emailNumber = 02
{
EmailSubject02()
}
if emailNumber = 03
{
EmailSubject03()
}
if emailNumber = 04
{
EmailSubject04()
}
if emailNumber = 05
{
EmailSubject05()
}
if emailNumber = 06
{
EmailSubject06()
}
if emailNumber = 07
{
EmailSubject07()
}
if emailNumber = 08
{
EmailSubject08()
}
if emailNumber = 09
{
EmailSubject09()
}
if emailNumber = 10
{
EmailSubject10()
}
if emailNumber = 11
{
EmailSubject11()
}
if emailNumber = 12
{
EmailSubject12()
}
if emailNumber = 13
{
EmailSubject13()
}
if emailNumber = 14
{
EmailSubject14()
}
if emailNumber = 15
{
EmailSubject15()
}
if emailNumber = 16
{
EmailSubject16()
}
if emailNumber = 17
{
EmailSubject17()
}
if emailNumber = 18
{
EmailSubject18()
}
}
else if email_trigger_type = body
{
if emailNumber = 01
{
EmailTemplate01()
}
if emailNumber = 02
{
EmailTemplate02()
}
if emailNumber = 03
{
EmailTemplate03()
}
if emailNumber = 04
{
EmailTemplate04()
}
if emailNumber = 05
{
EmailTemplate05()
}
if emailNumber = 06
{
EmailTemplate06()
}
if emailNumber = 07
{
EmailTemplate07()
}
if emailNumber = 08
{
EmailTemplate08()
}
if emailNumber = 09
{
EmailTemplate09()
}
if emailNumber = 10
{
EmailTemplate10()
}
if emailNumber = 11
{
EmailTemplate11()
}
if emailNumber = 12
{
EmailTemplate12()
}
if emailNumber = 13
{
EmailTemplate13()
}
if emailNumber = 14
{
EmailTemplate14()
}
if emailNumber = 15
{
EmailTemplate15()
}
if emailNumber = 16
{
EmailTemplate16()
}
if emailNumber = 17
{
EmailTemplate17()
}
if emailNumber = 18
{
EmailTemplate18()
}
}
return
#IfWinExist
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment