Home

Results 1 to 3 of 3

Thread: Desktop Pro - RunMacro from MS Excel receiving compile error

  1. #1
    Join Date
    Jul 2017
    Posts
    1

    Desktop Pro - RunMacro from MS Excel receiving compile error

    Hello. I am coding for my work, using Reflection Desktop 16 and MS Excel v15. I am trying to invoke a macro on Reflection from Excel. When I use the RunMacro method, I get the 'Expected Function or Variable' compile error.

    The function called returns a user-defined class and when I run it from Reflection VBA it returns the class nicely, so that isn't the problem. It is a possibility that I don't have the class set up correctly yet on Excel but I am feeling that I'm not coding the arguments correctly to call the function. I am using Early Binding and Intellisense is giving me the macro parameters so it is seeing the terminal object at least. I tried coding this off the example from 'Running Reflection Macros from Excel or Another Application' in your Key Concepts, but that is using RunMacro2 and calling a subroutine and I need to pass a paramter (paramarrays make me want to jump out of a window so I'm desperately hoping to avoid RunMacro3.)

    I could use a little guidance, please.

    Command line (I have tried both of these with the same result):

    Set objMyObject = termRefl.Macro.RunMacro(MacroEnumerationOption_Doc ument, "ThisIbmTerminal.HelpExcel", "(input string)")
    Set objMyObject = termRefl.Macro.RunMacro(MacroEnumerationOption_Doc ument, strMac, strInput) (wrapped the strings)


    Macro in Reflection --> Public Function HelpExcel(strA As String) As MyObject
    (This procedure actually calls another Reflection function because it has to do a little manipulation to that string first, because paramarrays. I think the second function would throw the error in Reflection, not Excel, though.)

    My project in the Project Window Looks like this:

    MacroContainer (MacroScreen)
    |
    -> Modules
    |
    ->ExcelSupportMacros

    I have tried qualifying the MacroName in the following manners:

    ThisIbmTerminal.HelpExcel
    ThisIbmTerminal.MacroContainer.Modules.ExcelSuppor tMacros.HelpExcel
    MacroContainer.Modules.ExcelSupportMacros.HelpExce l
    Modules.ExcelSupportMacros.HelpExcel
    MacroContainer.ExcelSupportMacros.HelpExcel
    ExcelSupportMacros.HelpExcel
    MacroContainer.HelpExcel

    (Edit: the space in Document is being added by this form, it is spelled correctly in my code.)
    Last edited by JoeyB; 07-Jul-2017 at 12:11 AM. Reason: Typo

  2. #2
    Join Date
    May 2016
    Posts
    1,716

    Re: Desktop Pro - RunMacro from MS Excel receiving compile error

    JoeyB,

    It appears that in the past few days you have not received a response to your
    posting. That concerns us, and has triggered this automated reply.

    These forums are peer-to-peer, best effort, volunteer run and that if your issue
    is urgent or not getting a response, you might try one of the following options:

    - Visit https://www.microfocus.com/support-and-services and search the knowledgebase and/or check
    all the other self support options and support programs available.
    - Open a service request: https://www.microfocus.com/support
    - You could also try posting your message again. Make sure it is posted in the
    correct newsgroup. (http://forums.microfocus.com)
    - You might consider hiring a local partner to assist you.
    https://www.partnernetprogram.com/pa...nder/find.html

    Be sure to read the forum FAQ about what to expect in the way of responses:
    http://forums.microfocus.com/faq.php

    Sometimes this automatic posting will alert someone that can respond.

    If this is a reply to a duplicate posting or otherwise posted in error, please
    ignore and accept our apologies and rest assured we will issue a stern reprimand
    to our posting bot.

    Good luck!

    Your Micro Focus Forums Team
    http://forums.microfocus.com



  3. #3
    Join Date
    Jun 2016
    Posts
    40

    Re: Desktop Pro - RunMacro from MS Excel receiving compile e

    The RunMacro method (and RunMacro2 and RunMacro3) all need the macro name in the format "ModuleName.MacroName". So if your VBA project has a "module" with code in it called "Module1", and you have a macro called "HelpExcel", you would use

    ThisIbmTerminal.Macro.RunMacro MacroEnumerationOption_Document, "Module1.HelpExcel", ""

    I might not be understanding the question though. Does that help?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •