I am not sure if this is even possible but I have a third-party COM add-in that allows data from our on-line CRM (Maximizer) to be integrated into a Word documents. The Add-in creates its own menu in the Word Ribbon.
I have been trying to find a way to access the menu commands through VBA and I have searched and searched but can't find an answer. Albeit, my limited knowledge of the correct terms may be hampering my search.
I was able to get SendKeys to work but everything I have read says to avoid this if at all possible. So I thought I would seek the advice of my Code Guru's here on StackOverflow.
SendKeys "%"
SendKeys "XM8"
SendKeys "P"
Related
Trying to save a MS Word macro as an add-in, fully independent, portable and installable as a word tool. What kind of literature should I consult to learn this technique?
So far I've tried looking on Google and StackOverflow. Many people ask similar questions, no one seems to provide a valid answer.
In the end, I would like to be able to export a macro in the form of a exe/batch/whatever to be summoned/installed from word and customize the tools ribbon permanently, to conceal the macro sourcecode and easily propagate to other machines.
It's not possible to use VBA macros as exe or batch files. It is possible, however, to load a macro-enabled template as an add-in. All the functionality will then be available (Ribbon, keyboard shortcuts, macros, building blocks).
Save the document as a dotm file (template, macro-enabled)
Copy the file in the STARTUP folder. Word will then load it automatically.
For a "real" add-in that uses the same COM object model as VBA it's necessary to build software based on the IDTExtensibility2 interface. There are number of tools that use this, making things easier. Microsoft's VSTO (Visual Studio Tools for Office) is one that costs nothing.
Another alternative is to use the newer Java Script APIs for Office. These are, in the case of Word, incomplete as far as functionality for the object model is concerned (can't do everything the COM object model is capable of).
I downloaded the Mini Calendar and Date Picker add-in from the Microsoft store and I would like to change a little bit of its functionality in VBA but cant seem to locate the add-in file anywhere . I activated the add-in and it works but it doesn't appear in the Active Application add-ins window under options so I don't know how to locate it. How can I go about this?
This is mentioned in the comments, but I'll officially answer as it's a common misconception that all Excel ADD-INS are written in VBA with an xlam file (particularly amongst financial Excel people who have just learned to write in VBA).
No. You cannot edit the code. It is not written in VBA and there is no xlam file, only a DLL file, which is much harder to interpret.
More "serious" add-ins, such as those found in Windows store, or are released by major software providers (SAP, Oracle, Microsoft) write their add-ins with C+, JavaScript or VB.Net. There's colossally more coding libraries in these languages than VBA, and the output of a DLL file makes it much harder for people to "steal" their code (as the OP intended to do, even if in a harmless nature).
So VBA enthusiasts won't be able to (easily) edit the code or learn from it.
I have written some vba (userforms mostly) to help my colleges with various task in Outlook, every time I write some extra code I have go to twenty desk to perform a manual update because outlook can't access the vba model.
VBA Extensibility in Outlook
is there a way to automate this update? using sendkeys was suggested but this is not actualy an update, you would still have to delete the old file manualy. Some of my colleges can't handle that. :-(
Multi-user solutions should really be designed as a COM Add-in. VBA macros in Outlook were never intended to be deployed and are meant for personal use only. However, there are some deployment methods available - see here, but use at your own risk: http://www.outlookcode.com/article.aspx?id=28
I've created Outlook 2007 macro, which add additional item to mail context menu (Sub Application_ItemContextMenuDisplay). Now I would like to allow other users to use this macro. How can I simplify macro installation for them?
Now I have to ask them to run Macro editor and copy-paste the macro code.
Probably, I can convert that to some Outlook addin / msi?
There's no way to deliver VBA code in a "correct" way to other users. Microsoft itself recommends your approach (copy-paste), because that is the only way to preserve what other users have possibly inserted in their outlook code file (VBAProject.otm).
I propose that you do some studying for yourself before asking beginner questions. There are plenty of resources available which can be found easily. I recommend you to start with OutlookCode , where a very good choice of articles will led you to understand how to go on.
I need interop in my programs to automate several functions in Word and Outlook. Does anyone know a good place to start. My goal is to kick off a mail merge, create several different files and save them accordingly, then e-mail the different files to different people based upon who needs what. Any help learning how to use the interop properly would be greatly appreciated.
I am currently using Visual Studio 2008 and Office 2007 and use vb.net to write my programs.
A good way to get started is to use the macro editor to record the steps you are trying to perform. You can take the generated macro code and modify it for your purposes to suit. Click on the names of functions and variables of which you do not know the purpose and hit "F1" to get context specific help.
Add COM references to Outlook 12.0 Object library and Word 12.0 Object library.
This web page really helped kick me off: http://support.microsoft.com/kb/316383
Then, by recording macros you'll expose a lot of the stuff you'll likely want to work with. Word of warning, however, is that not everything exposed in VBA (macros) is accessible within VB .NET. I don't know why this is, but I've actually had to construct and execute a macro from VB.NET, written in VBA, within Excel to accomplish something that seemed ridiculously easy if it weren't for the strange disconnect between the two.
Some good info on Mail Merge: http://support.microsoft.com/kb/258512
Here's an article with some basic steps to get you up and connected with Outlook's Interop: http://support.microsoft.com/kb/313787
Hope this helps. I'll keep an eye out for questions from you here--I'd say I know quite a bit when it comes to interop.
You might want to start here: http://msdn.microsoft.com/en-us/office/bb266408.aspx.
There are a number of tutorials.