@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

window.opwnでIEにエクセルを表示

1
投稿者投稿内容
あいうす
会議室デビュー日: 2004/07/08
投稿数: 5
投稿日時: 2004-07-08 18:28
こんにちは、あいうすと申します。

現在、ASPを使って以下のシステムを制作しているのですが、
製作段階でどうしても分からない問題が起きてしまい、書き込みをしました。

*****************[システム概要]******************************
@:ASPを使い、データベースからデータを取得。
A:@で取得したデータを、ASPを使いエクセルのシートに書き込む。
  その際、ExcelCreator3を使用。
B:Aで書き込まれたエクセルファイルを、IEに表示。  
C:IEに表示後、表示されたデータをテキストファイルに保存するマクロが
  自動的に実行。
************************************************************

(注)実行の際、複数のウィンドウからASPが実行された場合は、
   それぞれのウィンドウ毎に子ウィンドウを開き、エクセルをIEに表示します。
   例えば、ウィンドウAとウィンドウBがあり、それぞれのウィンドウから
   ASPファイルを実行します。
   そうすると、ウィンドウAからは子ウィンドウAが、ウィンドウBからは子ウィンドウBが
   window.openによって呼び出されます。
   それぞれの子ウィンドウにエクセルを表示します。


***********************[現状]********************************
@ABC共に実装はできたのですが、
問題は「複数ウィンドウからの実行に対応できない」事です。
************************************************************


******************[実行後の状況]***************************
一つのウィンドウ単体で実行する分には問題ないのですが、
複数ウィンドウから実行すると、以下のような症状があらわれます。
@:ウィンドウAとウィンドウBからASPを実行しても、
  子ウィンドウA、又はBしかIEに表示されない。
  (たまにきちんと表示されます)
  表示されていない方のマクロも動きません。
A:ウィンドウAとウィンドウBからASPを実行した際、
  子ウィンドウAと子ウィンドウB共に表示はされますが、
  どちらか片方の子ウィンドウのクライアント領域が再描画されない。
  もう一方の子ウィンドウはきちんと描画されています。
************************************************************


過去ログに同じような状況のものがあったので、試してみたのですが無理でした。
[参考にした過去ログ]
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=11704&forum=7&start=0
過去ログとの内容の違いは、「複数ウィンドウからの実行」かどうかだけだと思います。


DCOMCONFIGも以下のように設定しました。
***********************************************************
認証レベル‥規定

データが置かれているコンピュータ上で実行する‥OFF
このコンピュータ上で実行する‥ON
次のコンピュータで実行する‥OFF

独自のアクセス許可を使う‥ON(Everyoneアクセスの許可)
独自の起動アクセス許可を使う‥ON(Everyone起動の許可)
独自の構成アクセス許可を使う‥ON(Everyoneフルコントロール)

実行するユーザアカウント‥対話ユーザ
*************************************************************

宜しくお願いします。

[ メッセージ編集済み 編集者: あいうす 編集日時 2005-04-06 04:13 ]
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2004-07-08 18:37
NAL-6295です。

作成しているファイルのファイル名が同じというオチは無いですか?
あいうす
会議室デビュー日: 2004/07/08
投稿数: 5
投稿日時: 2004-07-08 18:38
補足です。
呼び出すエクセルファイル名ですが、現在時刻(ミリ秒含む)を
ファイル名にしているので、重なる事は殆どありません。
書きそびれたので、追記します。
あいうす
会議室デビュー日: 2004/07/08
投稿数: 5
投稿日時: 2004-07-08 18:40
NAL-6295さん、早速のお返事ありがとうございます。
補足を書いている間に書き込まれたようなので、気づきませんでした。
ファイル名に関しては、上記のとおりなので、大丈夫だと思われます。
あいうす
会議室デビュー日: 2004/07/08
投稿数: 5
投稿日時: 2004-07-08 18:49
三度追記です。

[症状]についての追記なのですが、
複数ウィンドウからASPを実行した場合、
何故かIEの表示と共に、エクセルファイルのダウンロード画面が表示され、
エクセルアプリケーションが起動されてしまいます。

[ メッセージ編集済み 編集者: あいうす 編集日時 2005-04-06 04:12 ]
あいうす
会議室デビュー日: 2004/07/08
投稿数: 5
投稿日時: 2004-07-12 18:13
自己レスです。
あれから色々試しましたが、以下の事しか分かりません。

[発見事項]
1:Excelのマクロを無効にした状態で複数のウィンドウから同時に実行しても、
  同じ現象が起きます。
2:window.openで開くファイルを「html形式・asp形式」のものにした場合は、
  複数ウィンドウから同時に実行しても正常にウィンドウがオープンし表示されますが、
  xls形式のものとなると、二つ目のウィンドウがきちんと表示されず、
  再描画もされません。
  全く応答無しの状態なのです。

MicroSoftのサポートページによると、Excelを自動で呼び出すのを推奨していない
という事なので、やはりどうしても無理なのでしょうか?
どなたかご存知の方がいたら、教えて下さい。
1

スキルアップ/キャリアアップ(JOB@IT)