expedienceblog

Set an Expiration Date for Reusable Proposal Content

Once you have created a Library of Reusable Proposal Content,  you should next give some consideration to how you will keep track of updates to the content.  This is especially challenging if the Content is stored in a document.

Documents are often used to store Reusable Content,  because documents are portable, easy to share, and don't require a big investment or infrastructure.  But keeping track of versions can be challenging. 

A very common request that we hear from clients at Expedience, is to set an expiration date on Reusable Content, to prevent it from being used by mistake when a newer version is available.

In this post we will look  at how a few lines of code placed in the document's 'Open' event can accomplish this.

Open the VBA Editor

VBA stands for “Visual Basic for Applications.”  This is a programming language that lets you create Macros for automating documents, such as the macros we have shown throughout this Blog.  For more on how to create macros, see our Blog post on how to Copy/Paste a Macro.

To get to the VBA Editor, you can select the ‘Visual Basic’ button on the Developer Tab:

 

Click Visual Basic Button on the Developer's Tab

If you do not see the Developer tab on your Word Ribbon, you can enable it buy going to File/Options/Customize Ribbon and checking the box next to Developer:

Enable Developer's Tab

Or, you can simply use the shortcut:  Alt+F11 

Once inside the VBA Editor, click on the menu item View and select ‘Project Explorer’:

VBA Editor Project Explorer

 This will show the documents that are currently opened.  

VBA Editor shows list of open documents

 Double Click on the Document that is to have an expiration date.  This will open a code window.

  Select ‘Document’ from the dropdown menu. From the Event Dropdown on the Right select ‘Open’.

b2ap3_thumbnail_VBESelectOpen.png

The code you enter here will be run whenever the Document is opened.   

Edit the VBA Code

Here is our sample Expiration code:

Sample VBA Code

To set the date, enter your own date inside the quotes: 

Change Expiration Date

 

To change the message that is received, edit the text inside the quotes:

Change Expiration Message 

To change the number of days before a warning is given, change the number ‘30’:

 

Change Expiration Term 

Because the document now contains a macro, you will need to save it either as a ‘.docm’ (Macro Enabled Document) or a ‘.dotm’ (Macro Enabled Template).

 When the document is opened, you may receive a Macro warning:

Macro Warning 

Click ‘Enable Content.’  If the document has expired, you will see the following message:

Sample Expiration Message 

The following is the Macro used in this post:

Private Sub Document_Open()

'create a date variable

Dim Exdate

 

'Set the date

Exdate = CDate("May 25, 2015")

 

'if no date then do nothing

If Exdate = "" Then

 Exit Sub

End If

 

'check if date is later than today

If Exdate < Now Then 'soft warning

  MsgBox "The content in this document expired on " & Exdate & "

'check if date is occuring in next 30 days

ElseIf (Exdate - 30) <= Now Then

    MsgBox "The content in this document will expire on " & Exdate & "."

End If

End Sub

 
 
 
Fields and Links and Controls, Oh My!
Custom Styles 101 for Proposal Writers – What is a...

Related Posts

Comments

 
No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Guest
Saturday, 21 October 2017

Search Our Blog

Schedule a Custom Demo

Explore the versatility and simplicity of Expedience Software.

Schedule Demo

Go to top