Skip to content
This repository has been archived by the owner on Apr 23, 2023. It is now read-only.

tallguyjenks/Obsidian-For-Business

Repository files navigation

Obsidian For Business

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:

Table of Contents

Features

Return To Top

  • 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
  • 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
  • Several facets of this system are configured and documented in USER_CONFIG

Requirements

Return To Top

  • 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

Recommended

Return To Top

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.

Installation

Return To Top

  1. Download this GitHub repository through any of the usual means
    • GitHub CLI
    • SSH
    • HTTPS
    • a .zip etc.
  2. Take the TEMPLATE_VAULT/ directory and move or rename it however you'd like it for your [Obsidian](https://obsidian.md/ vault
  3. Open that folder in Obsidian as a new vault
  4. Explore, play, find out what works and doesn't and change what ever you'd like

Installing the Outlook Utilities

  1. Open Outlook

  2. Press & hold Alt then press f11. The Visual Basic Editor will open. You'll see something that looks like this: vba1

  3. The first thing we need to do is activate some library references. Go to Tools > References. vba2

  4. The "References" dialog will open, shown below. vba3

  5. 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.)
  6. Next we need to get the code into the Outlook Application. For this, you'll need the .vb files located in the VBA Utilities folder of this repository. You'll copy/paste the code from these macros to use them in Outlook.

  7. 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, but USER_CONFIG and SaveUtilities are required. vba4

  8. 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 use SaveMeeting for what you pasted from SaveMeeting.vb) vba5

  9. Open the USER_CONFIG module and edit the vaultPathToSaveFileTo 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.

Usage

Return To Top

After installing the Outlook utilities, you can make them friendlier to use, thanks to the Quick Access Toolbar in Outlook.

  1. 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. QA1
  2. Click the down arrow and select the More Commands option QA2
  3. You'll get a screen that looks similar to this, under the Choose commands from drop down select Macros and you'll see a list of the code files we added.
  4. 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.
  5. 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) QA3
  6. Now we can get a little more aesthetic and select a Macro on the right hand side of the dialog box then click Modify... QA4
  7. 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
  8. When finished click Ok until all menus and windows are closed QA5

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: QA6

Example

Return To Top

<++>

Documentation

Return To Top

Resources

Return To Top

Development

Return To Top

  • 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

Security

Return To Top

  • 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.

Future

Return To Top

  • 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

History

Return To Top

  • 2021-04-04 Codebase Is Opensourced!

See RELEASES

Community

Return To Top

See CODE OF CONDUCT

Contributors

Return To Top

PR's welcome!

See CONTRIBUTING

Credits

Return To Top

  • 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

License

Return To Top

See LICENSE


Buy Me A Coffee