Calling xlsm functions from xlam

EdH42

New Member
Joined
Mar 2, 2019
Messages
1
Hi

Long time lurker finally signed up as I can't figure this out.

Test.xlam:
contains a class TestIF (Test interface) -- PublicNotCreatable
contains a function RunTests (starts execution--called from a menu) which is supposed to callback to the xlsm file to instantiate the class that implements TestIF

Test.xlsm:
contains the class that implements TestIF.

When creating the code that instantiates a class that implements TestIF in the xlsm, intellisense knows what a TestIF is.

So far, so good, but I'm trying to run things backwards, essentially trying to call a function in the xlsm file from a function in the xlam file. The menu selection calls RunTests just fine, but when RunTests tries to instantiate the class to be tested, it complains about the variable or user-defined type not being defined. when called as "New TestClass" it complains about the user-defined type and when called as a public function "CreateTestClass" that would return the newly instantiated TestClass located in a module in the xlsm file, it complains about the variable not being defined.

While I can think of a few workarounds that involve moving the test function definitions into the xlsm file, I'm hoping there's a way to do things this way as wrapping everything into the TestIF class seems the cleanest way to go about it.

Any ideas???

Thanks

Ed
 

Excel Facts

Which came first: VisiCalc or Lotus 1-2-3?
Dan Bricklin and Bob Frankston debuted VisiCalc in 1979 as a Visible Calculator. Lotus 1-2-3 debuted in the early 1980's, from Mitch Kapor.

Forum statistics

Threads
1,213,560
Messages
6,114,304
Members
448,564
Latest member
ED38

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top