View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
Dave Peterson[_2_] Dave Peterson[_2_] is offline
external usenet poster
 
Posts: 420
Default Calling subroutine defined in another workbook (autostart workbook)

My next guess is that there is at least one spelling mistake -- either in the
open workbook's name -- or in the macro name.



On 11/15/2010 21:00, Scott Bass wrote:
TestMsg is stored in:

MyMacros (MyMacros.xls)
Modules
TestMsg

On Nov 16, 11:51 am, Dave wrote:
My first suggestion is to make sure that TestMsg is in a General module -- not
under ThisWorkbook and not behind a worksheet.

On 11/15/2010 18:40, Scott Bass wrote:



Hi,


I have a subroutine defined in my auto start workbook, which is named
MyMacros.xls:


MyMacros.xls:


Option Explicit


Sub TestMsg()
MsgBox "Test Message"
End Sub


I want to run this macro whenever the save event runs in another
workbook, say temp.xls:


Temp.xls:


Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As
Boolean)
Application.Run "MyMacros.xls!TestMsg"
End Sub


This doesn't work. I get the error message:


The macro 'MyMacros.xls!TestMsg' cannot be found. I'm positive
MyMacros.xls is open (even if the workbook is hidden). Alt-F11 shows
MyMacros.xls is open and the TestMsg module is defined.


How can I call the TestMsg sub-routine whenever I click Save in
another workbook?


Thanks,
Scott


--
Dave Peterson



--
Dave Peterson