Obsidian For Business is a combination of a template vault for Obsidian and some Microsoft Outlook VBA Macros. Together, these facilitate a powerful, extensible, and flexible plain text workflow using Microsoft Office and Obsidian.
If you enjoy this product and want to support it's development consider GitHub Sponsorship:
- A template vault to get you started using
Obsidian For Business
- Easy macros for tagging and refactoring emails en-masse
- Select email(s) in Outlook and run the
JDAdd
macro to add a Johnny Decimal tag like:12.04
. Your email subject lines will get a[12.04]
tag added to the end of the subject line for easy searching. Described more in detail HERE - To easily remove an entire tag from email(s) select them all and run
JDRemove
and 1 tag will be removed from the end of the subject line - Conversation view groups will not display the tag only the individual email items
- Select email(s) in Outlook and run the
- Extract emails and calendar meetings to plain text straight to your vault
- Select email(s) in Outlook and run the
SaveEmail
utility to extract each email into the designated folder in our Obsidian vault. (file path configured in USER_CONFIG - Extract meeting attdendees and details by selecting a single meeting at a time in the calendar interface and running
SaveMeeting
and the detailes will be extracted to the designated vault file path set in USER_CONFIG
- Select email(s) in Outlook and run the
- Several facets of this system are configured and documented in USER_CONFIG
- Obsidian is required for the Template Vault
- For the Microsoft Outlook VBA tools you will need:
- Microsoft Windows
- Microsoft Office
- Microsoft Outlook Macros Enabled
- Microsoft Office VBA libraries activated
- Microsoft Forms 2.0 Object Library
- Microsoft VBScript Regular Expressions 5.5
It is recommended to use the latest version of Obsidian. The template vault includes community plugins. These should be updated to their latest versions using Obsidian's settings, the first time you open the vault.
- Download this GitHub repository through any of the usual means
- GitHub CLI
- SSH
- HTTPS
- a
.zip
etc.
- Take the
TEMPLATE_VAULT/
directory and move or rename it however you'd like it for your [Obsidian](https://obsidian.md/ vault - Open that folder in Obsidian as a new vault
- Explore, play, find out what works and doesn't and change what ever you'd like
-
Open Outlook
-
Press & hold Alt then press f11. The Visual Basic Editor will open. You'll see something that looks like this:
-
The first thing we need to do is activate some library references. Go to
Tools > References
. -
Ensure all these items are selected. The 2 necessary ones are:
- Microsoft Forms 2.0 Object Library
- Microsoft VBScript Regular Expressions 5.5
If you cant find exact versions like
Microsoft Office 16.0 Object Library
don't worry, your version of Outlook/Office may not use these. Select whatever similar versions are available. (Issues with these tools are unlikely, but if you encounter any, please file a bug report.)
-
Next we need to get the code into the Outlook Application. For this, you'll need the
.vb
files located in theVBA Utilities
folder of this repository. You'll copy/paste the code from these macros to use them in Outlook. -
To start, open the 'Insert Module' dropdown depicted below. Select
Module
then paste in the contents of a.vb
file. Do this for each macro you want to use, butUSER_CONFIG
andSaveUtilities
are required. -
You'll need to change the name of each new module. To do this, use the
Properties
window shown below. It should automatically be visible when you open the Editor with the hotkey combo from earlier. Name the modules exactly as you see listed below. (Names should match the original filenames, minus the extension so useSaveMeeting
for what you pasted fromSaveMeeting.vb
) -
Open the
USER_CONFIG
module and edit thevaultPathToSaveFileTo
variable with the absolute path where you want your files to be sent. You must use a trailing backslash at the end of the path\
These steps enable the basic functionality of the macros but you can customize a friendlier setup. See Usage.
After installing the Outlook utilities, you can make them friendlier to use, thanks to the Quick Access Toolbar in Outlook
.
- At the top of your Outlook application there will be a little down arrow icon and some other icons in the top left of the application.
- Click the down arrow and select the
More Commands
option - You'll get a screen that looks similar to this, under the
Choose commands from
drop down selectMacros
and you'll see a list of the code files we added. - because of the way VBA works you cant name the functions the same as the modules so thats why the names differ but it should be fairly obvious which are which.
- Select the macro items and click the
Add >>
button to move them to the Quick Access Toolbar menu (<Separators>
are useful for visually separating groups of commands) - Now we can get a little more aesthetic and select a Macro on the right hand side of the dialog box then click
Modify...
- This will let you select a custom icon to display on the Quick Access Toolbar for the macro so they are a little more intuitive to view
- When finished click
Ok
until all menus and windows are closed
With that all done you'll have some icons on your Quick Access Toolbar to click for your automated actions but to take it a step further, if you simply press Alt the Quick Access Toolbar will highlight the icons with numbers so you can simply press a number afterwards to run the action for an entirely keyboard-centric workflow:
<++>
- See The Wiki
- Development should take place on a Windows machine.
- Given that VBA was made in '93 legacy'd in '08 little has changed so you can still easily use older code and machines.
- Only thing is that the newer versions of MS Office might be recommended because of the additions to the Object Library for VBA and i'm not sure if there would be anything missing from what versions of the libraries.
- Helpful tools with VBA that I have yet ot implement well with this project are:
See CONTRIBUTING
- There should be no administrative privledges required for any of these tools at any time for any reason. As well as no requirement for any passwords, credentials or any user information what so ever. No data moves outside the local machine. There shouldn't be any security issues but if you think of anything please report a security vulnerability.
- Ideally i'd like to further improve upon the code base using the additional VBA dev tools listed under Development to batter manage the code.
- For now i'd like to squash bugs, expand the regex options for email formats that appear so the extractors work as intended and after reaching a level of stability, just expand feature requests.
See ROADMAP
- 2021-04-04 Codebase Is Opensourced!
See RELEASES
See CODE OF CONDUCT
PR's welcome!
See CONTRIBUTING
- Thank you to everyone who contributes to this project.
- If you contribute to this project do add a PR for AUTHORS as well!
See AUTHORS
See LICENSE