Can anyone tell me how to accomplish this?
I want a Python script to run on opening the MXD which would pull an excel worksheet into a GDB and refresh the map.
I only want this to happen in this specific MXD.
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It only takes a minute to sign up.Sign up to join this community
If you are going to ArcMap 10.1 you could create a python add-in. The add-in gives you access to an "on open" function that will run code when you open the mxd.
The help here explains how to create one and has a sample that adds a base layer to the mxd when opening.
You could code within the VBA of the mxd and call the python script within the code wrapper below:
Private Function MxDocument_OpenDocument() As Boolean End Function
In 10.0, you could use VBA as in artwork21's answer, or write a very simple ArcMap add-in using ArcObjects to run a script tool or shell out to arbitrary executables/scripts on startup, as in this answer.
It would probably be worth waiting for 10.1's Python add-ins if you don't want to write an ArcObjects add-in specifically for this.