Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7
Default Application.Run Call Err: 1004 Cannot Find Macro

This topic has been discussed numerous times that I can find, but even
with all the discussion I cannot get Application.Run to work for me.

So here's what I did. I set up a test.xls and a test2.xls. In
test.xls, I created a basTest and put in the following code:

Public Sub GetMessage()
MsgBox "Message from test was received.", vbOKOnly, "GetMessage"
End Sub

In test2.xls, I've created a button and tried to call application.run,
here's what I currently have:

Private Sub CommandButton1_Click()
Dim WB As Excel.Workbook
Dim Path as String

On Error GoTo ErrorHandler

Path = Application.GetOpenFilename("Excel File,*.xls", , "Test",
"Open", False)
Set WB = GetObject(Path)
WB.Application.Run "!GetMessage'"
'GetMessage

Exit Sub

ErrorHandler:
MsgBox "Err: " & Err.Description & " Number: " & Err.Number

End Sub


This throws the Err: 1004, Cannot Find Macro. As well as do the
following changes that I've made to the code.

'Tried this, and got the same error.
WB.Application.Run WB.Name & "!GetMessage'"

'Tried this and got the same error.
Application.Run WB.Name & "!GetMessage'"

'Tried this and got the same error.
Application.Run FileName & "!GetMessage'"


I've tried several other variations and absolutely cannot access the
sub. What am I doing wrong???

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Application.Run Call Err: 1004 Cannot Find Macro

I try:

Application.Run "'" & WB.Name & "'!GetMessage"

Note that the apostrophes are in different locations from what you tried.

Travich wrote:

This topic has been discussed numerous times that I can find, but even
with all the discussion I cannot get Application.Run to work for me.

So here's what I did. I set up a test.xls and a test2.xls. In
test.xls, I created a basTest and put in the following code:

Public Sub GetMessage()
MsgBox "Message from test was received.", vbOKOnly, "GetMessage"
End Sub

In test2.xls, I've created a button and tried to call application.run,
here's what I currently have:

Private Sub CommandButton1_Click()
Dim WB As Excel.Workbook
Dim Path as String

On Error GoTo ErrorHandler

Path = Application.GetOpenFilename("Excel File,*.xls", , "Test",
"Open", False)
Set WB = GetObject(Path)
WB.Application.Run "!GetMessage'"
'GetMessage

Exit Sub

ErrorHandler:
MsgBox "Err: " & Err.Description & " Number: " & Err.Number

End Sub

This throws the Err: 1004, Cannot Find Macro. As well as do the
following changes that I've made to the code.

'Tried this, and got the same error.
WB.Application.Run WB.Name & "!GetMessage'"

'Tried this and got the same error.
Application.Run WB.Name & "!GetMessage'"

'Tried this and got the same error.
Application.Run FileName & "!GetMessage'"

I've tried several other variations and absolutely cannot access the
sub. What am I doing wrong???


--

Dave Peterson
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Application.Run Call Err: 1004 Cannot Find Macro

And if that macro were in the same workbook as the code calling it, I'd just
use:

Call GetMessage



Travich wrote:

This topic has been discussed numerous times that I can find, but even
with all the discussion I cannot get Application.Run to work for me.

So here's what I did. I set up a test.xls and a test2.xls. In
test.xls, I created a basTest and put in the following code:

Public Sub GetMessage()
MsgBox "Message from test was received.", vbOKOnly, "GetMessage"
End Sub

In test2.xls, I've created a button and tried to call application.run,
here's what I currently have:

Private Sub CommandButton1_Click()
Dim WB As Excel.Workbook
Dim Path as String

On Error GoTo ErrorHandler

Path = Application.GetOpenFilename("Excel File,*.xls", , "Test",
"Open", False)
Set WB = GetObject(Path)
WB.Application.Run "!GetMessage'"
'GetMessage

Exit Sub

ErrorHandler:
MsgBox "Err: " & Err.Description & " Number: " & Err.Number

End Sub

This throws the Err: 1004, Cannot Find Macro. As well as do the
following changes that I've made to the code.

'Tried this, and got the same error.
WB.Application.Run WB.Name & "!GetMessage'"

'Tried this and got the same error.
Application.Run WB.Name & "!GetMessage'"

'Tried this and got the same error.
Application.Run FileName & "!GetMessage'"

I've tried several other variations and absolutely cannot access the
sub. What am I doing wrong???


--

Dave Peterson
  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7
Default Application.Run Call Err: 1004 Cannot Find Macro

Ah! The single quotes may be the problem. I will try it now and let
you know.

These are in seperate workbooks.

As a tangeant, can someone explain why I would use "call" in front a
sub instead of just calling the sub by its name? Thanks!

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7
Default Application.Run Call Err: 1004 Cannot Find Macro

Wow, great catch on the single quotes!! That solved the problem!!!!

One final question - does anyone know if I have the modules password
protected, if this would possibly prevent a macro from being called
(one in another workbook?). I'm going to test it out now. Thanks!



  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Application.Run Call Err: 1004 Cannot Find Macro

I think you'll find your answer to the second question pretty quickly!

Travich wrote:

Wow, great catch on the single quotes!! That solved the problem!!!!

One final question - does anyone know if I have the modules password
protected, if this would possibly prevent a macro from being called
(one in another workbook?). I'm going to test it out now. Thanks!


--

Dave Peterson
  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 35,218
Default Application.Run Call Err: 1004 Cannot Find Macro

Besides the syntax differences, I think it's just a matter of personal
preference.

I like to use Call. I think it makes the code easier to read. Others disagree,
though.

Travich wrote:

Ah! The single quotes may be the problem. I will try it now and let
you know.

These are in seperate workbooks.

As a tangeant, can someone explain why I would use "call" in front a
sub instead of just calling the sub by its name? Thanks!


--

Dave Peterson
Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Application Error 1004 ExcelMonkey[_190_] Excel Programming 4 February 9th 05 01:55 AM
Application / Object Error 1004 Garry[_7_] Excel Programming 7 October 6th 04 01:22 PM
Macro Run-time Error 1004 Application Defined or Object Defined Error Anddmx Excel Programming 6 June 9th 04 03:40 PM
Application error 1004 with a twist. Darren Lord Excel Programming 1 August 22nd 03 12:30 PM
Application error 1004. Darren[_5_] Excel Programming 2 August 12th 03 09:52 AM


All times are GMT +1. The time now is 04:22 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"