Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.worksheetfunctions,microsoft.public.excel.programming
|
|||
|
|||
![]()
I need to run a Macro named UpdateData upon open of the file.
This code is not working. I placed the below code in ThisWorkbook. I am able to manually run UpdateData, but it does not run automatically when I open the file. Security is set to Medium and I enable Macro's when I open the file. What am I doing wrong? Private Sub Workbook_Open() Call UpdateData End Sub |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try this
Run "UpdateData" " wrote: I need to run a Macro named UpdateData upon open of the file. This code is not working. I placed the below code in ThisWorkbook. I am able to manually run UpdateData, but it does not run automatically when I open the file. Security is set to Medium and I enable Macro's when I open the file. What am I doing wrong? Private Sub Workbook_Open() Call UpdateData End Sub |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I think either Call UpdateData or Run "UpdateData" should work. Make
sure the Workbook_Open code is attached to the ThisWorkbook object, and not in a regular module. Good luck. Ken Norfolk, Va On Jun 1, 10:54 am, Mike wrote: Try this Run "UpdateData" " wrote: I need to run a Macro named UpdateData upon open of the file. This code is not working. I placed the below code in ThisWorkbook. I am able to manually run UpdateData, but it does not run automatically when I open the file. Security is set to Medium and I enable Macro's when I open the file. What am I doing wrong? Private Sub Workbook_Open() Call UpdateData End Sub- Hide quoted text - - Show quoted text - |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Your Events may be disabled. Try running this code to reset events. Then
retry your code... Sub ResetEvents application.enableevents = true end sub Note that enable events is one of those persistent settings that you need to be very careful with. If you turn it off it will never get turned back on again unless you do so... -- HTH... Jim Thomlinson " wrote: I need to run a Macro named UpdateData upon open of the file. This code is not working. I placed the below code in ThisWorkbook. I am able to manually run UpdateData, but it does not run automatically when I open the file. Security is set to Medium and I enable Macro's when I open the file. What am I doing wrong? Private Sub Workbook_Open() Call UpdateData End Sub |
#5
![]()
Posted to microsoft.public.excel.worksheetfunctions,microsoft.public.excel.programming
|
|||
|
|||
![]()
wrote...
I need to run a Macro named UpdateData upon open of the file. This code is not working. I placed the below code in ThisWorkbook. I am able to manually run UpdateData, but it does not run automatically when I open the file. Security is set to Medium and I enable Macro's when I open the file. What am I doing wrong? Private Sub Workbook_Open() Call UpdateData End Sub If for some reason Application.EnableEvents had been set to FALSE, no event handlers would run, not even Open events. However, with the file open, you could define the name Auto_Open referring to ='YourFilenameHere.xls'!ThisWorkbook.Workbook_Open and it'll run on opening if you enable macros even if EnableEvents were set to FALSE. However, it'd run twice if EnableEvents were set to TRUE. You'd need to add a state variable to prevent that. Private Sub Workbook_Open() Static st As Boolean If Not st Then Call UpdateData st = True End If End Sub Even so, if UpdateData throws a runtime error, and you end it, the static variable st will reset to FALSE, so this would try to run UpdateData a second time. You could use a defined name or a worksheet cell as the state variable, but that'd mark the file as modified (which may not be a big deal). |
#6
![]()
Posted to microsoft.public.excel.worksheetfunctions,microsoft.public.excel.programming
|
|||
|
|||
![]()
I dont know if this will help, but I always forget that the "Private
Sub Workbook_Open()" statements have to go in the "Microsoft Excel Objects" section of the VBA Project, in "ThisWorkbook". The mistake I make almost everytime is to first look for the Open command in the drop down boxes above the VBA coding window, and it is not there of course. Then I check in the Excel Help and find the "Private Sub Workbook_Open()" command example and do some macro recording to get close to what I what the spreadsheet to do on Open. Then I drop that into Module1 of the modules section, and of course that doesnt work---but I am closer! More frustrated, but closer. So the next thing I do is figure I need to rename Module1 to AutoExec, but that doesnt work either. So I then fish around for an old Excel file I have where the "on Open" code works, and viola. I move the code I just wrote out of Module1/ Autoexec and into "ThisWorkbook" and it runs fine. Take care. Keving Gaza "What you focus on, you enlarge." Stedman Graham |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
workbook_open not being called when I open the excel file | Excel Programming | |||
How to auto activate macro when file open ? | Excel Worksheet Functions | |||
Macro to call a file that has a auto open macro in the file itself | Excel Programming | |||
Auto run macro on *.csv file open | Excel Programming | |||
Auto run macro on open file | Excel Programming |