All Projects → chelh → Vbasync

chelh / Vbasync

Licence: other
Cross-platform tool to synchronize macros from an Office VBA-enabled file with a version-controlled folder

Programming Languages

vba
158 projects

Projects that are alternatives of or similar to Vbasync

Office365FiddlerExtension
This Fiddler Extension is an Office 365 centric parser to efficiently troubleshoot Office 365 client application connectivity and functionality.
Stars: ✭ 23 (-76.53%)
Mutual labels:  excel, word, powerpoint, outlook
rgpipe
lesspipe for ripgrep for common new filetypes using few dependencies
Stars: ✭ 21 (-78.57%)
Mutual labels:  excel, word, powerpoint
Unioffice
Pure go library for creating and processing Office Word (.docx), Excel (.xlsx) and Powerpoint (.pptx) documents
Stars: ✭ 3,111 (+3074.49%)
Mutual labels:  excel, powerpoint, word
craXcel-cli
Command line application to unlock Microsoft Office password protected files.
Stars: ✭ 44 (-55.1%)
Mutual labels:  excel, word, powerpoint
Docxtemplater
Generate docx pptx and xlsx (Microsoft Word, Powerpoint, Excel documents) from templates, from Node.js, the Browser and the command line / Demo: https://www.docxtemplater.com/demo
Stars: ✭ 1,990 (+1930.61%)
Mutual labels:  excel, powerpoint, word
Docs2Pdf
Bulk convert word/powerpoint/excel file to pdf.
Stars: ✭ 27 (-72.45%)
Mutual labels:  excel, word, powerpoint
Gotenberg Go Client
Go client for the Gotenberg API
Stars: ✭ 35 (-64.29%)
Mutual labels:  excel, powerpoint, word
Office Ribbonx Editor
An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF
Stars: ✭ 205 (+109.18%)
Mutual labels:  excel, powerpoint, word
OfficeExtractor
Extracts embedded OLE objects from Word, Excel, PowerPoint, Open Office and RTF files without needing the original programs
Stars: ✭ 67 (-31.63%)
Mutual labels:  excel, word, powerpoint
Rage
Rage allows you to execute any file in a Microsoft Office document.
Stars: ✭ 68 (-30.61%)
Mutual labels:  excel, word, powerpoint
Gotenberg Php Client
PHP client for the Gotenberg API
Stars: ✭ 80 (-18.37%)
Mutual labels:  excel, powerpoint, word
Officer
👮 officer: office documents from R
Stars: ✭ 405 (+313.27%)
Mutual labels:  powerpoint, word
gscloudplugin
浏览器打印PDF。 浏览器打印HTML。 浏览器打印图片。 浏览器打印Word。浏览器打印Excel。浏览器打印PPT。浏览器打印自定义绘图。浏览器打印微软报表。 使用静默方式打印。蓝牙打印。读写串口数据。读取电子秤重量
Stars: ✭ 18 (-81.63%)
Mutual labels:  excel, word
Sparkleshare
Share and collaborate by syncing with any Git repository instantly. Linux, macOS, and Windows.
Stars: ✭ 4,661 (+4656.12%)
Mutual labels:  cross-platform, version-control
Excelmerge
GUI Diff Tool for Excel
Stars: ✭ 425 (+333.67%)
Mutual labels:  excel, diff
Python O365
A simple python library to interact with Microsoft Graph and Office 365 API
Stars: ✭ 742 (+657.14%)
Mutual labels:  excel, outlook
Scheduler
Automates completion and emailing of .xlsx time sheet.
Stars: ✭ 34 (-65.31%)
Mutual labels:  excel, outlook
Nativexplatform
Akeeba Portable Tools (cross-platform) - Desktop utilities for use with Akeeba Backup and Akeeba Solo
Stars: ✭ 17 (-82.65%)
Mutual labels:  extract, cross-platform
Desktopeditors
An office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents
Stars: ✭ 1,008 (+928.57%)
Mutual labels:  excel, word
Waveboxapp
Wavebox Classic has been updated to Wavebox 10. Learn more Wavebox.io
Stars: ✭ 1,198 (+1122.45%)
Mutual labels:  outlook, cross-platform

VBA Sync VBA Sync logo

Microsoft Office VBA code is usually held in binary format, making proper version control difficult. VBA Sync synchronizes macros between a VBA-enabled file and a folder, enabling easy version control using Git, SVN, Mercurial, or any other VCS.

I no longer maintain this project. I have released it into the public domain.

Download my final release (v2.2.0)
Look for a newer version, or advertise your new version

Features

VBA Sync works directly with the Office file, unlike most other solutions, which use a host application (e.g., Excel) to manipulate the VBA code. This gives it several advantages:

  • Does not require special Excel settings.
  • Does not add to your VBA code base.
  • Allows you to use any off-the-shelf version control system.
  • Allows you to cherry-pick which modules to extract or publish.
  • Minimizes spurious changes by ignoring case on variable names, making merges easier.
  • Extracts full code including several hidden attributes.
  • Also extracts settings not tied to a particular module, like references.
  • Generates FRX files compatible with the VBE, but without any embedded timestamp.
  • Allows you to extract or publish a FRM module without necessarily updating its FRX module.
  • Works with document or worksheet modules in the same way as any other module.
  • Supports Excel 97-2003, Excel 2007+, Word 97-2003, Word 2007+, PowerPoint 2007+, and Outlook files.
  • Compatible with Windows, Linux, and Mac.

Using

VBA Sync has two modes: Extract mode extracts modules from the file into the folder. You can then commit the extracted files to version control. Publish mode publishes modules from the folder into the file. You should do this after merges.

After you select a mode, a folder path, and a file path, the tool will list which modules have changed, with a checkbox next to each. Tick the checkbox next to each module with changes you'd like to apply. Double-click an entry to run a diff tool against the old and new files. (This requires setting up a diff tool under FileSettings.) If the underlying files change, click Refresh. When you're ready to synchronize, click Apply or OK.

You can save and load session settings from the File menu. Settings are saved as .ini files. If a settings file is named VBASync.ini and located in the working directory, VBA Sync will load those settings automatically. I recommend taking advantage of this and launching VBA Sync from a shortcut with the working directory overridden, to avoid having to specify the folder and file each time you need to synchronize.

VBA Sync after selecting folder and file locations

Command-line

You can also specify settings on the command-line via switches:

Switch Meaning
-x Extract VBA from Office file (default)
-p Publish VBA to Office file
-f <file> Specify Office file
-d <dir> Specify version-control directory
-r Do the selected action, then immediately exit (required on Linux/Mac)
-i Ignore empty modules
-u Search subdirectories of version-control directory
-a Allow adding new document modules when publishing (expert option)
-e Allow deleting document modules when publishing (expert option)
-h <hook> If -p was specified earlier, set the before-publish hook. Else set the after-extract hook.

Any other parameter passed to VBA Sync will be read and parsed as a session .ini file.

Public domain software

Created 2017 by Chelsea Hughes

Thanks to GitHub user hectorticoli for the French translation.

I release all rights to this work. You may use it for any purpose, and alter and redistribute it freely. If you use this in another product, credit would be appreciated but is not required.

This software is provided “as-is,” without any express or implied warranty. In no event will I or any other contributor be held liable for any damages arising from the use of this software.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].