views:

267

answers:

1

I want to do the next thing:

String[] cmd  = {"cmd","/c","c:\\Program Files (x86)\\Microsoft Office\\Office12\\WINWORD.exe","/mOpenPage","c:\\Navodilo.doc"};            
Process proc = Runtime.getRuntime().exec(cmd);

But, without to specify the winword.exe path but open the document with the macro...

I read that there exist Auto Open macro, is it possible to specify input arguments for Auto Open macro?

SOLVED:

String[] cmd  = {"cmd","/c","start","WINWORD.exe","/mOpenPage","c:\\Navodilo_za_uporabo_spletnega_servisa_wsEdp.doc"};
Process proc = Runtime.getRuntime().exec(cmd);

It runs default winword.exe and open word document with specified Macro

A: 

I see two options for you:

  1. Read the path to winword.exe from the Registry. It is stored under

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\12.0\Word\InstallRoot
    

    where 12.0 needs to be the correct Office version (Office 2007 = 12, Office 2003 = 11 etc).

  2. Instead of using the /m switch you could also use an auto macro. How this is done is described here:

    http://support.microsoft.com/kb/211659

0xA3
Hm... yes, Auto macro. But it will be static. I want somehow to say in runtime to open that document on that page/bookmark or similar
Milan