Click here to Skip to main content
15,668,517 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
So what i'd like to do is link a database to a GUI that people can easily add information into the database. The next step is to get that information and populate it into Microsoft office documents such as word, excel, powerpoint etc. And create folder structures within Windows (or the cloud, but not too sure about that at the moment because I can't seem to find anything with large enough business storage).

At the moment I am just using VBA within excel and word to pull the data from the database and also VBA to create the folder structures. To enter the data, this is just done within the database itself (we are using airtable, although previously I used mySQL and had the data entered in via a userform and VBA.) The problem with the VBA is that if you can access the code, you can find the API key and password. Is there anyway you can hide this like you can with frontend/backend type arrangements?

It's all a little clunky and I would like to make it nicer. I've dabbled in javascript and this would be OK with the database entry side of things and I think word/excel now allows javascript add-ins to be created. But I don't think it works to create folder directories within Windows.

So having said all that. What do people think would be the most suitable combo of software to achieve the above in a clean fashion? C#? I really only know VBA, Javascript, HTML, CSS and did a little bit of C+ and machine language for a certain microcontroller at uni. But am happy to learn anything and with the Covid-19 lock down I may have a bit of spare time on my hands.

Probably a bit rambly, but any help or follow up questions much appreciated!

What I have tried:

I have currently done bits and pieces in VBA in excel/word where userforms popup and people can pull info from an Airtable database and input it into the document. And can also create folder structures on local drives relating to project numbers that have been created

I have also had a MySQL database where again via excel userforms and VBA the database can be updated and info pulled from it and folders created.

It kind of works but is a bit clunky and not really tied together nicely and the VBA isn't very secure as the username/passwords or API keys sit within the code, so anyone could get access to it if they can get into the code... and wanted a nicer solution to tie it all together.
Updated 1-Apr-20 22:27pm

I already have time on my hands thanks to covid-19 & Business Hibernation I'm studying/refreshing 'all sorts of things'.

I think it would be all too tempting to throw things at you like 'do it with C# & Winforms, or c++ & MFC, or 'any other language you can drive a GUI with'', but thats not the end of your requirements

If you are comfortable with "Javascript, HTML, CSS" then, why not that combination ?, or, step it up and build a SPA in node and react for example. What does that leave that then may not satisfy your 'requirements' ? .. (rhetorical) maybe the API Key/Password, Excel/Word etc side of things .. maybe you need to decompose into 'services' that can handle the 'Windows stuff'

There's no problem at all learning C#/Winforms, and lots of people could help you - but I think you need to look a bit more at requirements, decomposition etc and draw yourself some pictures

Maybe you can combine c# and javascript if you have code already - that might give you the best of both worlds, including C# assemblies/modules to deal with the tricky interfaces to Excel....

just my 0.02c worth (grab it quick while the stockmarket is failing, it'll be worth less tomorrow)

[edit] it also depends on what you want to acheive (obviously, get this project done) .. but, and here's why I didnt mention VBA, do you want it extensible, reusable components etc... that plus programming isnt just about code - do you use git/a repo for example, if not learn this side by side [/edit]
Share this answer
All of that would fit easily into a C# application, or suite.
Share this answer

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900