質問: shell("c:\program files\microsoft office\office11\excel.exe", 1) appactivate "aaa.xls" end sub を実行すると、 新規にアプリケーションが開いて、空のbook1が表示されます。 本当は、aaa.xlsをアクティブにしたいのですがうまく出来ません。 aaa.xlsは既に開いている状態です。 aaa.xlsはデスクトップにあります。 http://officetanaka.net/excel/vba/statement/appactivate.htm を見ながらやってみたのですがうまく出来ません。 新たなアプリケーションは立ち上げたくないけど aaa.xlsはアクティブにしたいです。
回答: すでに、aaa.xlsが開いているなら、質問のコードで、新しいexcelも開くが、aaa.xlsにフォーカスが移って、アクティブになっているはずです。ただし、フォーカスは移るが、最前面には表示されない。 aaa.xlsが開いていないなら、次のコードでaaa.xlsが開いてアクティブになり前面に表示されるでしょう。 rc = shell("c:\program files\microsoft office\office11\excel.exe c:\users\(ユーザー名)\desktop\aaa.xls", 1) 質問からすれば、 すでに、aaa.xlsが開いているのをアクティブにして前面に表示したいだけのようだから、shellもappactivateもいらないで、単に、 windows("bbb.xls").activate でしょう。