How do I turn off macros when programmatically opening a workbook.

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hi,
I'm trying to turn off a macro that runs when I open a workbook
programmatically. I'm not sure how to do this. I want to do
(programmatically) the equivalent of pressing the 'Disable macros' button
when I open this program. I have workarounds if this doesn't work, but would
like to do something quick and easy!

Thanks!
Phil
 
Phil

If you're auto macros are of the AutoOpen variety, they won't execute when
you open a workbook via code. If they are events like Workbook_Open, then

Application.EnableEvents = False
Workbooks.Open etc..
Application.EnableEvents = True
 
Private Sub Workbook_Open()

End Sub
Above is where the macro is running from. If you do not want it to rum,
remove the code. You can put it some where else to make it available to run.
 
Phil,
The code I have placed below came from some kind soul posted on this
UseNet. When the Workbook_Open procedure runs upon opening the file--we
will call the child document--this code will look to see if the file
name you supply is open--lets call it the parent document. If the
parent document is open it will exit the Workbook_Open procedure.

1. Paste the line of code mentioned below in your Workbook_Open
procedure located in the code for 'ThisWorkbook'; change the file name.

2. Next Paste the TestWorkbookOpen function below the end of the
Workbook_Open procedure.


Public Sub Workbook_Open()
Application.ScreenUpdating = False

'1. Place this line of code in your workbook_open procedure...
If TestWorkbookOpen("TheParentFileName.xls") Then Exit Sub

'Your code here...
Application.ScreenUpdating = True
End Sub

' 2. Next Paste the TestWorkbookOpen function below the end of the
Workbook_Open procedure.
Function TestWorkbookOpen(WorkBookName As String) As Boolean
' returns TRUE if the workbook is open
TestWorkbookOpen = False

On Error GoTo WorkBookNotOpen
If Len(Application.Workbooks(WorkBookName).Name) > 0 Then
TestWorkbookOpen = True
Exit Function
End If

WorkBookNotOpen:
End Function
 
Back
Top