There are too many trivial and repetitive operations in Excel: removing spaces, deduplication, filling blanks with zeros, converting text to numbers, splitting by delimiters, adding borders, standardizing naming formats, generating QR codes, and so on. Each item appears very simple in isolation, but ordinary office users cannot write VBA, so every time they must either learn on the spot, search for a solution, or ask colleagues for help, spending half an hour on a minor task. Many of my colleagues have numerous macro files of unknown origin stored on their computers, which they do not dare to modify. Existing Excel toolboxes on the market are either all-in-one giant bundles that make Excel lag for a long time after installation, or paid suites that require purchasing many features one does not need.
My initial idea was to create a collection of small tools, but I soon encountered two contradictions. First, as more and more features were added, the client had to be upgraded and updated frequently, and users were reluctant to upgrade. Second, as more tools were added, the Excel toolbar became fully occupied, making it difficult to find a feature; the time saved was then spent searching for tools. Inspired by the cloud approach, I found a breakthrough: make the client a launcher, package all tools on the server, download them temporarily, decompress and execute them, and destroy them after use, thereby solving the problem of frequent user upgrades; the client provides customizable tool names, grouping, and real-time search, thereby solving the problem of finding tools.
Thus the form of "Excel Loco Tools" emerged: a unified entry point is provided in Excel, which opens an online tool list organized into hundreds of small tools by categories such as data processing, format setting, worksheet management, code generation, and comparison and validation. The vast majority of tools are provided to users free of charge, while a small number of advanced tools are offered by subscription to support the developer's livelihood. The client is compatible with Excel 2000 through 365, because a considerable proportion of target users still use older versions; this is also the direct reason for choosing a C# COM add-in rather than pure Office.js. Most importantly, this design solves the problem of distributing small tools. Problems I encounter during use can be quickly written as small tools and published to the server, and all users can immediately use the new tool. Newly added small tools are pushed directly from the server to the client, and users do not need to upgrade the client. To make this product genuinely useful to users, I also designed an online requirement submission feature. Users can directly submit the features they need to me, and after I complete the addition, they can be reminded to use them.
The client is implemented as a COM add-in using C#/.NET Framework 4.0. For Excel 2003 and earlier, CommandBar is used; for Excel 2007 and later, Ribbon XML is used, forming a dual-scheme approach. Complex tools are provided with dialog DLLs compiled in C# and called by VBA. The client-side new tool requirement submission and reply notification form a closed operational loop of direct interaction between me and users.
Going forward, I will compile and publish documentation on how to use some small tools that may have usage barriers, in the hope that this product will prove useful to users.