
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.
Install VSTO in Visual Studio by using the Visual Studio Installer, selecting the Office SharePoint Development workload, and modifying components across Visual Studio 2019 and later versions.
Contrast VSTO workbook and VSTO add-ins by highlighting document-level versus application-level customizations in Excel, and describe the global API entry point for events like workbook openings and sheet changes.
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.
Set up an Excel VSTO project in Visual Studio, design a custom ribbon with a hyperlink maker button, wire controls, and debug the skeleton to verify functionality.
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 how to implement WPF/WinForms interoperability by embedding a WPF user control in a Windows Forms app using an element host, wiring the host, and validating rendering.
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.
Learn to build a basic wpf user control using grid and stackpanel, define columns, add text blocks and hyperlinks, and incorporate an ellipse status indicator.
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.
Design a file settings user control in a WPF MVVM app, using grid layouts, text boxes, margins, and static resource icons to manage icons and file settings.
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.
Create a singleton view model with bindable boolean properties to drive UI controls, enabling or disabling options based on folder inclusion, using data binding and property change notifications.
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.
Bind a base directory string, validate it with directory exists, and allow users to pick and assign the folder via a folder browser dialog.
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.
Learn to monitor Excel sheet selection changes with VSTO and MVVM, capture the target range, ensure non-empty values, and safely convert values for display in a modal window.
Bind multiple view controls to a single property in a WPF MVVM app, using an equality converter to reflect files or folders and bind sublevel values to the UI.
Bind properties to views in MVVM by building a file extension model, an observable collection, and a bound command to add extensions with parameters, reflecting changes to the selected items.
Add a start button in a WPF MVVM UI, configure image and combo buttons, arrange in a grid, and implement command validation to enable actions or create a hyperlink.
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.
Learn to recursively search all subfolders and collect file and directory information using a get results model, with configurable sublevels and search patterns.
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.
Learn to create hyperlinks in Excel cells, set the hyperlink target, and use anchors and addresses to open files or directories from a worksheet.
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).