![]() |
|
#1
|
|||
|
|||
![]()
After adding a template file to the Addins collection and installing the addin I can successfully run subs in the template that do not require any arguments.
However, if the sub requires an argument, it fails with the following error: "Run-time error '438': Object doesn't support this property or method" I am using the following line of code: Application.Run strAddinFilename & "!SubName", strText Where: strAddinFileName - filename of the template with extension (not a full path) SubName - name of a Sub strText - name variable being passed as an argument to Sub. I've modified the template sub using byVal and byRef for its arguments and various hacks using parens, the Call keyword and other junky ideas without any success. According to the "About Word" on the Account page in Microsoft Word, I have: Version 2112 (Build 14729.20322 Click-to-Run) Hoping there's help, VBAadvocate |
#2
|
||||
|
||||
![]()
I did some searching and found this which looked promising for using the VBA Project name rather than the filename but I couldn't get that to work anyway.
I did get it going by adding a Reference pointing at the addin (shown via its VBA project name) and dropping the project name from the command that calls it. Code:
Sub RunATest() 'Include a reference to the addin's VBA project name (TestAddin) Application.Run "TestAddin!ShowMessage", "Specifying the Project Name fails" 'failed Application.Run "modName.ShowMessage", "Including the addin's module name works" 'worked Application.Run "ShowMessage", "Being even less specific works too" 'worked End Sub Code:
Option Explicit Public Function ShowMessage(sMsg As String) MsgBox sMsg End Function Sub aTest() ShowMessage "hello world" End Sub
__________________
Andrew Lockton Chrysalis Design, Melbourne Australia |
#3
|
|||
|
|||
![]()
Many thanks, Andrew.
I tried the following with success: Application.Run "aMD_ForThisDocument.aMD_Document_ContentControlOn Enter", ctrl 'Works I'm passing a reference to a ContentControl to a module routine in a stand-alone template which has nearly all the required code. However, I wanted to also have a seperate template that loads that stand-alone template and use its code. The stand-alone template's ThisDocument class calls the routines in its aMD_ForThisDocument module instead of having the code in the class mod and allow other projects use them. (Confusing? Probably. Sorry.) Neverthelsess, I got it working. I tried including the addin's filename to help avoid having duplicate module names in various addins but that failed. Thanks again, VBAadvocate (Jim) |
![]() |
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
Typing to cell fails | DickVeitch | Excel | 6 | 11-20-2017 10:34 AM |
SaveAs or Export to PDF fails | Optiker | Publisher | 0 | 11-12-2017 12:17 PM |
![]() |
serge1p | Excel Programming | 1 | 09-21-2017 02:28 AM |
![]() |
jlumbtx | Office | 1 | 01-07-2015 10:00 AM |
![]() |
Mystified1 | Office | 4 | 02-07-2011 01:32 PM |