View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default How to get "/automation" when automating?

Mike,
Application.EnableEvents=False

Of course, you will need to set to True after opening if any of your own
code depends on Excel events.

NickHK

wrote in message
oups.com...
The specific auto-run macro that I know of with potential to cause
trouble at this point is "Workbook_Open()". I have been tasked with
writing a server based program to update a bunch of user's
spreadsheets. I wondered what would happen if users made
Workbook_Open macros when my code opened those spreadsheets. Well,
they get run. So, my issue is the potential for trouble of running
unknown code. Is there something I can do?

Thanks,
Mike

On Mar 8, 4:03 am, "Jim Rech" wrote:
When you start Excel via automation, which I believe you're doing, the
/automation switch is automatically applied (thus the name).

For unbelievers put this in a VBS file and run it:

Set XL = CreateObject("Excel.Application")
XL.Workbooks.Open "c:\Book1.xls", 3
XL.Visible = True

Note that no add-ins, Personal.xls, etc. are opened.

and I am having issues with auto-run macros.


If you're opening a workbook subsequently of course its events will run.
Maybe you should expand on the issues you're having.

--
wrote in message

oups.com...
| According to MS, the /automation switch for Excel disables all
| automatically opened files and auto-run macros. You get this feature
| when starting Excel like "excel.exe /automation". But, I am starting
| Excel from a C# program, not a command line, and I am having issues
| with auto-run macros. How can I disable the auto-run macros when
| actually automating Excel? A snippet of my code is below.
|
| Thanks,
| Mike
|
| *************
|
| MSExcel.Application app = new MSExcel.Application();
| try
| {
| app.Workbooks.Open(filePath, Missing.Value, Missing.Value,
| Missing.Value,
| Missing.Value, Missing.Value, Missing.Value, Missing.Value,
| Missing.Value,
| Missing.Value, Missing.Value, Missing.Value, Missing.Value,
| Missing.Value,
| Missing.Value);
| ...
| }
|