
Learn how to build Excel automation using VSTO with Visual Studio, compare Office add-ins and VSTO, and manipulate worksheet data from scratch in a beginner-friendly project.
Create a new VSTO add-ins project in Visual Studio, add a ribbon with a button, and test communication with Excel using the boilerplate template and debugging.
Discover how to manage resources in a zipped Visual Studio project, restore missing packages, and rebuild the solution to fix errors as you progress through lessons.
Demonstrates building an Excel add-in that scans directories, lists files and folders into the active worksheet, and creates hyperlinks to open items with input validation and subfolder controls.
Build a Windows UI to scan folders, validate parts with color indicators, and control search depth. Learn to fetch data from Excel, populate results, and create file hyperlinks.
Learn to add WPF references to a VSTO project by manually selecting assemblies or using a user control template that bundles the required Windows Presentation Foundation references.
Learn how to enable interoperability between Windows Forms and WPF, embedding and hosting controls across architectures, and using containment techniques to display one framework’s control within another.
Learn to implement MVVM by separating view from logic, create a dedicated model, and integrate resource dictionaries via NuGet references to enable scalable WPF development.
Build a flexible UI settings panel for an Excel programming app using WPF MVVM, featuring radio buttons, checkboxes, numeric fields, margins, and an expandable section.
Learn to build a basic user control with base settings using panels and group boxes, manage local namespaces, add text boxes, and apply input constraints via an attached property.
Create a field mapping control by adding a text block and a wide combo box, arranged horizontally and bound to a collection of field details.
Learn how to set up a singleton view model and implement triggers and data triggers to drive an ellipse's color from a bound property, plus simple MVVM communication using commands.
Learn to monitor Excel sheet selection changes with VSTO and MVVM, subscribing to selection change events, retrieving cell data, and updating UI visibility with converters.
Add field info by creating an email field, binding selected items to a display list, and adding hyperlinks, while converting types to descriptions through a field mapping workflow.
Validate the start button using CanExecuteChanged, enabling it only when the directory, extension mode, at least one file type, and required fields are properly selected to create a hyperlink.
Create and validate a hyperlink in a VSTO Excel app, ensure directory validity and property readiness, and fetch current folder contents—subdirectories and files—using a structured search mode.
Refine code to build a directory info based model, process files and subdirectories, and generate a result model. Integrate a search pattern for the current level.
Learn to apply a search pattern when retrieving files and directories, implement recursive fetching, build a results model, and filter results by extensions using lambda expressions.
Test and refine the search pattern to filter files and folders in a current directory, verify results, and validate extension-based filtering and failure reporting.
Limit subfolder levels with a user setting: enable the sublevel limit checkbox and set an integer; start from the base directory and traverse recursively until current level meets the limit.
Learn how to add headers in an Excel worksheet before creating hyperlinks, using the Excel API to map start rows and columns from selected display fields.
Learn to fill Excel worksheet data, create hyperlinks, and map results by looping through total results and columns, handling file and directory distinctions and last modified info.
Demonstrates creating and indexing hyperlinks in Excel via VSTO C# in a MVVM workflow, processing thousands of items, querying field info data for descriptions and matching them.
The haley libraries used in the course got updated with so many new features. To keep up to the speed, the references in the HyperlinkMaker project also got updated. Please download the latest solution with updated references from this lecture.
Course contents still remain the same.
This course focuses on creating Excel VSTO add-ins & Excel VSTO Workbook using C#,WPF.
Real-life functional add-ins will be built from scratch.
Since this course is meant for learning Excel Add-ins, topics not related to Excel Add-ins will be taught with limited scope where as Excel Add-ins related topics will be dealt with complete focus.
Take a look at the preview video regarding the add-ins that we will build in the course.
Is this a Right course for you??
If you say "Yes" to all the questions below, then this course is definitely for you. If you are not okay with some of the questions, then please do not join the course.
Are you a kind of person who likes to learn new programming skill directly by starting to build real-life applications?
Since this course is for learning Excel Add-ins, external NuGet libraries will be used for quick building of user interface (UI Windows). Are you comfortable with using NuGet libraries?
Building an applications mean, spending more time on setting up the logic for the application itself. So, half the time you will learn building the application and its logic. Rest of the time, you will learn to manipulate the data and communicate/read/write data to Excel. Are you okay with this?
I will use WPF (rather than Windows form) for building the UI. Even if you are new to WPF, you can find that this course explains every step of building the UI using WPF. If you already have no idea about WPF then are you ready to learn WPF along with Excel Add-ins?
If you are okay with above points, then get ready to learn to build excel add-ins with modern/interactive/responsive UI using WPF
At the end of the Course, you would have learned
Important and useful Excel classes and methods that you can apply on your work.
Working with Visual Studio
Debug the project and fix errors
Import data from external files into Excel via your add-in
Looping methods (for , foreach, while)
Object oriented programming
Packaging your add-in into an executable (.exe or .msi) that can be shared with others.
Note: For the purpose of quick prototyping of the UI, NuGet packages will be used. In Particular, TheHaleyProject , a set of opensource libraries, will be used for building UI. (Disclaimer: I'm the Author of Haley Project, a set of OpenSource libraries hosted in github).