What does EOM stand for?

Use it in emails to alert readers a message is over

By Heinz Tschabitscher Heinz Tschabitscher Writer University of Vienna A former freelance contributor who has reviewed hundreds of email programs and services since 1997. lifewire’s editorial guidelines Updated on March 11, 2022

  • Tweet
  • Share
  • Email

Core Objects

This package is the main package used in the creation of Add-Ins. It has the following objects:

  • The root object
  • The IDTExtensibility Interface object
  • The Visual Basic instance variable

The Root Object

VBE is the root object in Visual Basic. The VBE object is the base object for every extensibility object and collection in Visual Basic. Each object and collection owns a reference to the VBE property. The collections owned by the VBE object include the following:

  • VBProjects
  • Windows
  • CodePanes
  • CommandBars

The VBProjects Collection

This collection enables you to access a set of VB properties. This feature can be helpful if your development environment has an established process for developing software. Some of the key properties and methods of this collection are:

  • Filename: returns the full pathname of the group project file
  • Startproject: returns or sets the project that will start when users choose Start menu from the Run menu, click the Run button, or press F5 key.
  • AddFromFile: This is a method that enables the users to add or open a project or group object. Its only required argument is the string representing the path of the file you want to add.
  • AddFromTemplate: This method enables you to add project templates into the VBProjects collection. Its only required argument is the string representing the path of the file you want to use as a template.

The Windows Collection

With the Windows collection, you can access the windows such as the project and properties windows. This collection enables you to access a group of all currently open code windows and designer windows.

The IDTExtensibility Interface Object

The IDTExtensibility Interface Object exposes the public methods and properties of the extensibility model. By exposes, I mean that because you don’t directly use the services, methods and properties of the underlying extensibility model, you need to invoke the methods of the model’s agent, so to speak. You can think of interfaces as public agents for the private implementation of an extensibility model object you instantiate.

The Visual Basic Instance Variable

This is also known as dynamic identification variable. It identifies a particular instance of your VB session. This instance identifier enables you to have separately identifiable running instances of VB in memory.

The instance variable is of the type VBIDE.VBE. To use this variable, declare it in a class module or general module.

Please refer to Microsoft website for complete details of these packages. Please understand that I cannot explain each and every detail of these packages in this short article. Let’s get started with the creation of the Add-In.

We will build a simple Add-In that will count the number of lines of code for a given program component.

To begin creating the Add-In, start a new project. Choose the AddIn project type. The AddIn project type includes many components necessary for creating VB Add-Ins. There is a form that you can modify to provide a user interface for your Add-In. There is also a designer module that contains the four methods that are needed for the Add-In’s interface to VB.

Remove the OK and Cancel buttons from the form and add the following controls to the form:

Control TypeProperty Value
Form NameFrmAddIn
Caption CodeLine Counter
Label NameLblProject
TextBox NameTxtProject
Label NameLblComponent
TextBox NameTxtComponent
CommandButton NameCmdCountCodeLines
CaptionCount Code Lines
CommandButton NameCmdDone
Label NameLblCodeLines
Caption CodeLines
TextBox NameTxtCodeLines

Here is the complete code:


Copy Code

Let’s see what’s in the code, the cmdCountCodeLines_click() is triggered when the user clicks on the Count Code Lines button. It uses the project and component names that were typed into the form’s textbox controls to assign that component to the objVBComponent object. Note the hierarchy used to obtain a component item in the following line of code:


Copy Code

First, the VBInstance object is referenced and then its VBProjects collection, that project’s VBComponents collection is accessed by using the strVBComponent string as a key argument for the collection’s Item method. This long sequence of referencing ultimately assigns the specified component that is part of the specified project (strVBProject) to the objVBComponent object.

The following line of code:


Copy Code

is used to access the CodeModule of the newly assigned objVBComponent object. The countoflines property of the CodeModule object contains the number of lines of code in that particular component. This number is assigned to the txtCodeLines textbox so that the user can see the results.

The second event procedure that was added is the cmdDone_click() event. This contains only a single line of code that calls the Connect object’s Hide method, hiding the Add-In’s user interface. The Connect object is an instance of the Connect class, which, as you might remember, is a part of the AddIn project. It is defined in the form’s General declarations section.

In Connect Designer, in the AddInInstance_OnConnection procedure, there is a line of code that looks like this:


Copy Code

Change the “My AddIn” to “Code Line Counter”.

Save the project and compile the Add-In by choosing File | Make CodeLineCounter.dll from the menu. When the make project dialog box appears, be sure to specify that the executable file be placed in the same directory as VB. You want VB to have access to the Add-In later.

Before you can use the Add-In, you have to make a change to the VBADDIN.INI file so that VB will know that the Add-In is available. You will find this file in the Windows directory. Add the following line in the end of the file:


Copy Code

Save the file; then get back into VB. Open any project that you might happen to have handy. Then choose Add-In | Add-In Manager from the menu. You should see a list of Add-Ins. Select the codelinecounter, select the Load on startup and the Loaded/Unloaded check boxes, then click OK.

Invoke the Add-In by choosing it from that menu, and its user interface shows onscreen. Enter the name of the project currently open and then the name of the component. For example, the open project’s name is project1.vbp, enter project1 in the project textbox and the form’s name is form1.frm, enter form1 in the component textbox and click “Count Code Lines” button and you will see the number of lines in the “Code Lines” textbox.


EOM sales techniques and examples

To avoid widespread EOM mistakes, you may adopt several effective sales techniques that will help you remain professional and trusted during this stressful period. Each of them is supported by a sales email template for your inspiration:

Play with the price

Around 83% of customers claim they are more likely to purchase if they are offered a discount. It’s true, though not always when it comes to EOM B2B sales. Here you should be more prospective. 

Work out a strategy where you’ll offer a discount to your prospects in the middle of the month. Four or five days before the EOM, contact them again and inform them that the price will be raised starting from the next month. This way, you may motivate your prospective customers to think twice and buy your solution at an old price. 

Consider the following email template example:

Hello [Prospect name], Since the month comes to its end, I would like to inform you about a new pricing structure that comes into action on [Date]. Starting from this day, the price of our [Pricing plan name] plan will rise to [How much].  You may still buy [Service or product] at a current price till [Date]. If you have any questions, feel free to contact me. Regards, [Your name]

2. Involve your leaders in a conversation

You get targets from your sales leaders, so why not ask them to participate in a sales EOM closing challenge? If you ask them to write a message on behalf of their name, there will be more chances your prospects will react. 

Customers appreciate attention and care, so a message from your company’s executive may sound like a sign of respect and push them to consider your offer more seriously.

Your sales leader’s email may look something like this:

Hello [Prospect name],[Rep name] informed me about your current issue with [Problem] at [Prospect company]. So, I decided to contact you personally to answer any questions you might be having at the moment about [Your company name] solution.I’m highly concerned about seeing our product as the right fit for the companies we work with, so I’m open to all your inquiries. I look forward to hearing from you and will be pleased to provide you with all the information you are interested in. Regards,[Executive name and title]

3. Ask reflection questions

When prospects object to your offer, which is not a rare thing, the deal gets stalled. It’s high time to break the ice and remind them you are still here to come in handy. Again, your goal is to drag words from a prospect, not bombard them with your visions about how wonderful your solution is. Be ready to ask questions that can help your prospects reflect on their need for your product.

For example:

Hello [Prospect name],We chatted with you about [Your company name] offer two weeks ago, and you were not ready to accept it due to [Objection, e.g., lack of budget]. Since a new month is approaching, would it be right for me to suppose a free trial will be a good starting point for you right now to solve your [Share their pain point]?If not, no need to worry. I can contact you in the future when this solution becomes a higher priority for you.Regards,[Your name]

EOM sales are never easy. Just keep in mind that you won’t make them easier if you start accelerating your efforts and pressing prospects.  

Now that it is clear what EOM means in sales and how to close your deals before the end of the month, let’s go ahead and find out what EOM stands for in accounting. 

External Links