+ Reply to Thread
Results 1 to 2 of 2

Execute Macros from Other workbooks on current workbook

  1. #1
    Allen
    Guest

    Execute Macros from Other workbooks on current workbook

    I'd like to be able to execute a macro I've got in A.XLS on the data in
    B.XLS. I'm doing this from within a VB6 app. The code I've got seems to
    work great for simple executions of Macros within the same workbook, namely:

    workbookObject.Application.Run sMacroName, sarg1, sarg2 ....

    If sMacroName is something like "Sheet1.Macro2" all is well. However if I
    try something like sMacroName = "e:\temp\B.XLS!Sheet1.Macro2" I get one of
    several issues. First error I've seen while attempting in VB6 is:

    "The file cannot be opend because your virus scanner has detected a problem
    with the file".

    If instead I attempt this via VBA code within Excel itself like so:

    Run "e:\delme\tryme3.xls!ThisWorkbook.Hello"

    I get an error "The macro 'e:\delme\tryme3.xls!ThisWorkbook.Hello' cannot be
    found.

    I know within the VBA of Excel is at least gettting to the point where it
    opens the file, but for some reason it says it cannot find the macro. If I
    rename the file to something that does not exist and run the same line of
    code above, I get the same error as within the VB6 code, namely:
    "The file cannot be opend because your virus scanner has detected a problem
    with the file".

    Any help is greatly appreciated.

    Allen Segall
    (Softinterface, Inc.)



  2. #2
    Jim Cone
    Guest

    Re: Execute Macros from Other workbooks on current workbook

    Allen,
    I assume you have an object reference to the Excel application.
    Also, I believe the workbook with the macro you are calling must be open...

    Dim vReturnValue as Variant
    vReturnValue = appXL.Run("A.xls!MacroName", sArg1, sArg2)
    - or -
    appXL.Run "A.xls!MacroName", sArg1, sArg2

    Both of the above should work if the file is open, so try opening the file first
    then run the code. If the file won't open, that is a different issue.

    It appears to me that it would be simpler to duplicate the code
    and run it from your VB app.
    --
    Jim Cone
    San Francisco, USA
    http://www.realezsites.com/bus/primitivesoftware



    "Allen" <[email protected]>
    wrote in message
    I'd like to be able to execute a macro I've got in A.XLS on the data in
    B.XLS. I'm doing this from within a VB6 app. The code I've got seems to
    work great for simple executions of Macros within the same workbook, namely:

    workbookObject.Application.Run sMacroName, sarg1, sarg2 ....

    If sMacroName is something like "Sheet1.Macro2" all is well. However if I
    try something like sMacroName = "e:\temp\B.XLS!Sheet1.Macro2" I get one of
    several issues. First error I've seen while attempting in VB6 is:

    "The file cannot be opend because your virus scanner has detected a problem
    with the file".

    If instead I attempt this via VBA code within Excel itself like so:

    Run "e:\delme\tryme3.xls!ThisWorkbook.Hello"

    I get an error "The macro 'e:\delme\tryme3.xls!ThisWorkbook.Hello' cannot be
    found.

    I know within the VBA of Excel is at least gettting to the point where it
    opens the file, but for some reason it says it cannot find the macro. If I
    rename the file to something that does not exist and run the same line of
    code above, I get the same error as within the VB6 code, namely:
    "The file cannot be opend because your virus scanner has detected a problem
    with the file".

    Any help is greatly appreciated.

    Allen Segall
    (Softinterface, Inc.)



+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

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

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1