apollois
asked on
Creating a Common VBA Library
What is the best way to setup/maintain a common VBA library that can be used by all Office apps?
I have a number of VBA procedures and functions that can be used by all of the Office apps. Is there a better way to share this lib other than having a separate module that's loaded into the VBA IDE for each app?
I would like to have one file that I maintain that can be referenced by all the Office apps.
I have a number of VBA procedures and functions that can be used by all of the Office apps. Is there a better way to share this lib other than having a separate module that's loaded into the VBA IDE for each app?
I would like to have one file that I maintain that can be referenced by all the Office apps.
Hello Apollois,
I never saw a solution where all macro's are called in one way. for all applications. (all companies have their own templates for excel , word and powerpoint)
what you might do is make use of import of modules.
in excel you can places lines of code into a personal.xls file (perhaps create one yourself and locate them in the XLSTART folder.
example of importing module in xls.
http://www.exceltip.com/show_tip/Modules,_Class_Modules_in_VBA/Insert_a_new_module_from_a_file_using_VBA_in_Microsoft_Excel/507.html
the same thing you can do in word by creating a DOT file.
regards,
Jeroen
I never saw a solution where all macro's are called in one way. for all applications. (all companies have their own templates for excel , word and powerpoint)
what you might do is make use of import of modules.
in excel you can places lines of code into a personal.xls file (perhaps create one yourself and locate them in the XLSTART folder.
example of importing module in xls.
http://www.exceltip.com/show_tip/Modules,_Class_Modules_in_VBA/Insert_a_new_module_from_a_file_using_VBA_in_Microsoft_Excel/507.html
the same thing you can do in word by creating a DOT file.
regards,
Jeroen
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Three words: Active X Object.
Design an Active X OCX or DLL.
-Brian
Design an Active X OCX or DLL.
-Brian
ASKER
Thanks byundt for posting the link in the VB section.
Turns out it is very simple once you know how. :-)
inthedark is the closest to my final solution -- but it is even simpler that he/she stated.
Once you create the DLL, and add it as a ref in any Office App, all Public Subs and Functions are available directly. You do NOT need to use CreateObject.
Here is the MS KB Article I found that tells you how to do this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/modcore/html/deovrCreatingDLLThatActsAsCodeLibrary.asp
BTW Jeroen, I don't doubt that most people/companies copy/paste code from one Office App VBA to another. But my whole point is to specifically aviod doing this. With my VBA Lib DLL solution, I have ONLY one place to maintain the source code. My VBA Lib does NOT contain any Office App specific code -- it is general purpose VBA utility routines that can/are used by all Office Apps.
Thanks for all your suggestions.
Turns out it is very simple once you know how. :-)
inthedark is the closest to my final solution -- but it is even simpler that he/she stated.
Once you create the DLL, and add it as a ref in any Office App, all Public Subs and Functions are available directly. You do NOT need to use CreateObject.
Here is the MS KB Article I found that tells you how to do this:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/modcore/html/deovrCreatingDLLThatActsAsCodeLibrary.asp
BTW Jeroen, I don't doubt that most people/companies copy/paste code from one Office App VBA to another. But my whole point is to specifically aviod doing this. With my VBA Lib DLL solution, I have ONLY one place to maintain the source code. My VBA Lib does NOT contain any Office App specific code -- it is general purpose VBA utility routines that can/are used by all Office Apps.
Thanks for all your suggestions.
Thanks apollois for the link.
Didn't knew about this.
Jeroen
Didn't knew about this.
Jeroen
I posted a link to this question in the Visual Basic programming technical area https://www.experts-exchange.com/questions/20943430/Link-to-300-point-question-in-Office-TA.html
byundt--Office TA Page Editor