役に立ちそうもないTips移転版

俺得なTipsを書き連ねるだけのブログ。

Excel2013を多重起動しようとするとなんか変

2013/05/30追記: どうもExcelの問題というより、とある常駐プログラムが問題(ないし、Excel2013と相性が悪い?)らしいことが判明したので、記事をobsoleteに。

まず前段として今更知って浦島な話。
とりあえずWindows7だと、タスクバーに「同じプログラム」(判定基準がいまいちわからんが、exeのパスが同じでまとめてるとも限らんぽい?)がまとまる上に、右クリックでいろいろ出てくる。
で、このコンテキストメニューにそのプログラムの名前が出てるのは前から知ってたが、単なるラベルだと思っておりました。
しかしどっこい、そのプログラム名をクリックすると……なんとそのプログラムが新たなプロセスで立ち上がるではないですか。*1
(Vistaも同じだったかもしらんけど検証する気ないのですんませんorz)
Excelは2007〜2010まで「複数のブックをカスケード状に並べて開きたい」ときに「それぞれ別のExcelプロセスでブックを開く」しかなかったんで、わちきはいちいちスタートメニューからExcel立ち上げておりましたが、このほうがはるかに楽orz
(最近使ったプログラムがスタートメニュー一発で出るからそれでもさして不便でなかったのよね……)
なお2013はMDIを捨てた*2ということで、「複数のブックをカスケード状に並べて開きたい」ときは普通にブックをエクスプローラからぽちぽち開けばExcelのウインドウ最大化してなきゃ素でカスケード配置されます。(でもプロセスはいっこ。……なので、「別フォルダにある同名のファイル」は相変わらず別プロセスに振り分けないと開けん。*3 )


で、実はここからが本題。とりあえずExcel2013、バージョン15.0.4505.1006(32ビット)の話なのだが、2007までの要領で
1. 既にExcelが起動していて何かブック(新規でも)を開いている
2. スタートメニューからExcel立ち上げようとすると起動中の方が(あるいは、起動中の方まで)落ちるorz
今のところ再現度100%。OSはWindows7Pro SP1。
この現象は実は上記の「タスクバー上のExcel右クリック→Altクリック」では発生しないのです。
ちなみに、1. の状況で、VBScriptあたりでExcel.ApplicationをCreateObjectしても平然ともういっこExcel.exeが立ちあがります。
つまりスタートメニューからの起動だけなんか変な状況っぽい。なにこれ。


追記。スタートメニューからの起動ってこの場合要するにショートカットからの起動なのだが、その参照先の実体であるところのExcel.exeファイルを直接起動しようとしても同じ目にorz


さらに追記。というか2007もよく見たらちゃんと?「でっかく親ウインドウが居てその中に子ウインドウがわらわら」だな……それでなんでカスケード表示できねー!とか思いこんでいたのだろうかorz

*1:プログラム側で多重起動をガードしてるようなのは無理かも。試してないけど

*2:というか、2007〜2010のMDIというのが「でっかく親ウインドウが居てその中に子ウインドウがわらわら」という体裁(昔MDIというのはそういう体裁だったような……)でなかったのはなんでなんだぜuu; あの時代は親の中でカスケード表示もできたはず……

*3:マクロ触らない人からすると恐らくイミフメな制限にしか見えんが、仮に開けるようにしたらWorkbooks#Item()の引数に名前指定ができんことになって多分かなり阿鼻叫喚。