Skip to main content
26 events
when toggle format what by license comment
Jun 11, 2018 at 21:45 history edited Robert Harvey CC BY-SA 4.0
deleted 9 characters in body
Jun 11, 2018 at 20:39 answer added S Meaden timeline score: 1
May 23, 2017 at 12:40 history edited CommunityBot
replaced http://stackoverflow.com/ with https://stackoverflow.com/
Aug 29, 2016 at 20:42 history edited BuckTurgidson CC BY-SA 3.0
details one the need for a VBA layer
Aug 29, 2016 at 20:28 comment added BuckTurgidson @jpmc26. Most of time users read and 'click to show details' on the data. Sometimes they can enter data and push a push a button edit/saves/send data.
Aug 29, 2016 at 20:23 vote accept BuckTurgidson
Aug 29, 2016 at 18:51 comment added JeffO You can try something to create the excel files for the users like: openpyxl.readthedocs.io/en/default/#.
Aug 29, 2016 at 17:34 comment added Doc Brown @jpmc26: I guess at the time when VBA came up, the decision did not look so bad as it might look today. And the deep integration of VBA into Excel has still its value (for example, I often use the macro recorder to find out how to do some things programmatically). I have written lots of VBA programs with embedded sheets as templates in the past, which can be done directly in Excel with almost no overhead. A similar solution for an addin needs always some more programming effort (I did this, too, so I know what I am talking about).
Aug 29, 2016 at 16:56 comment added jpmc26 @DocBrown Sensible. It completely defeats the purpose of even having the ability to embed them, though, which just goes to show it was a bad design decision. lol.
Aug 29, 2016 at 14:27 comment added Doc Brown @jpmc26: ok, now I got you. One can perfectly write VBA programs as part of one Excel document, and keep the user's data in a second document. The VBA macro then can create reports as a third document. All that is pretty simple, one has just to care for this separation, no magic involved. This is mandatory if you ever want to be able to deploy a version 2.0 after version 1.0. Actually this is what I always told people in the first 30 minutes of my introductory VBA lessons ;-)
Aug 29, 2016 at 14:01 comment added jpmc26 @BuckTurgidson I have a clarification I'd like to ask for. Are your users entering data in the Excels you give them, or could you just generate an Excel document as output?
Aug 29, 2016 at 13:54 comment added jpmc26 @DocBrown "if the deployment of new Excel VBA programs is simple or not depends heavily on if there is a clear separation between the program and user's data ... I guess the OP has made this separation ..." I was trying to tell you why I didn't consider this a possibility. As far as I'm aware, VBA code must be embedded in the user's data file. This is even what the OP describes doing in the question ("save a new workbook with a new version name"). So I think your assumption is unwarranted; I don't know how the OP is overcoming this difficulty.
Aug 29, 2016 at 13:47 comment added Doc Brown @jpmc26: not sure I understand what you are trying to tell me. What do you mean by "I didn't think this was possible with VBA" - I did not suggest anything which might be possible "with VBA". My suggestion is more a full replacement for VBA code. However, Excel-DNA will also allow to write .NET functions which can be called from VBA, but I am under the impression that is not what OP is really after. For Access, however, I don't know any comparable solution.
Aug 29, 2016 at 13:40 comment added jpmc26 @DocBrown Of course, but I didn't think this was possible with VBA. I even have an existing question about doing that with Access that never received a real answer.
Aug 29, 2016 at 11:44 comment added Brandin "Any words on the risks I'm taking" - develop a demo/proof-of-concept first and try to deploy that to a beta tester customer. If he has trouble due to admin rights, DLLs, Excel version, etc, then you'll know before you spend any more time on it.
Aug 29, 2016 at 11:30 answer added Doc Brown timeline score: 4
Aug 29, 2016 at 7:46 comment added BuckTurgidson @Doc Brow. Python is mostly because I'm used to and because I really care for quick development. It feels now that steeping into VB.NET first is the natural path.
Aug 29, 2016 at 6:14 comment added Doc Brown @BuckTurgidson: then Excel-DNA is probably what you are looking for. It might be easier, however, to start with a VB.NET add-in before you integrate IronPython into this.
Aug 29, 2016 at 6:10 comment added BuckTurgidson @DocBrown. Want is to use the python-built object in VBA. Just printing the excel file with the data would mean give up on-click events. COM is not a solution because of the admin rights. Idea now is excel self loaded add-in. I need the self loaded mostly while in development.
Aug 29, 2016 at 6:09 comment added Doc Brown As an alternative which works seemlessly with Excel, does not need any messing around with the registry, and can be used for making single-file deployments: you might consider to use Excel-DNA for creating an Excel-Addin, and combine this with IronPython, if it really must be Python. I used this only with VB.NET and C# by myself, however.
Aug 29, 2016 at 5:59 comment added Doc Brown @jpmc26: if the deployment of new Excel VBA programs is simple or not depends heavily on if there is a clear separation between the program and user's data, so the first one can be updated without overwriting the second. I guess the OP has made this separation, otherwise he would already be in big trouble.
Aug 29, 2016 at 5:55 comment added Doc Brown Deploying a compiled executable or a python script is definitely as simple as deploying an Excel document, once the target machine contains the required run time environment. However, it seems you want to use Python from VBA by COM??? Is that really necessary? That is what it makes harder in your case. Can't you just run your Python script in a separate process by utilizing VBA's Shell command and implement the I/O through files?
Aug 29, 2016 at 5:31 comment added BuckTurgidson @jpmc26. Indeed this statement cannot be generalized. It's true in my case.
Aug 29, 2016 at 1:31 comment added jpmc26 "how amazingly easy is to deploy a new version in excel" It might be easy to save a new version, but how hard is it to make sure everyone keeps up to date? You'll see plenty of horror stories about trying to manage who is on what version.
Aug 29, 2016 at 0:19 review First posts
Sep 28, 2016 at 0:20
Aug 29, 2016 at 0:18 history asked BuckTurgidson CC BY-SA 3.0