
phpで開発しているのですが
問題はVBscriptでの問題と思われますのでここで
質問させてください。
vbscript上で
Dim xl
Dim book, sheet
Set xl = CreateObject("Excel.Application")
xl.Visible = false
Set book = xl.WorkBooks.Add("http://**/****.xls")
xl.DisplayAlerts = False
--------
phpでのエクセルへのデータ操作
--------
xl.DisplayAlerts = true
xl.visible = true
set book = Nothing
Set xl = Nothing
という形でエクセルを起動して、データを挿入してから
画面上に表示という事をしています。
このときに、エクセルはちゃんと起動してくるのですが
アクティブウインドウになってくれません。
タスクバーのボタンがピコピコ点滅するだけです。
クリックすると前面に表示されるのですが。。。
どうにか、自動的に前面に出すことはできないでしょうか?
No.2ベストアンサー
- 回答日時:
WSHと俗に呼ばれている(?)と思います。
APIが使えないスクリプトですが、これを利用すると、全てではありませんが、メジャーなAPIと同等のことが結構できちゃたりします。
やりたいことは
Set objWSH = CreateObject("WScript.Shell")
objWSH.AppActivate xl.Caption ← 追加
Set objWSH = Nothing
だったので、一命令の発行だけで開放してしまうので、生成とメソッド発行を一文にまとめてしまいました。
他にも便利な機能がいっぱいなので、WSHをあちこちで使いそうだったらPUBLIC扱いで先頭で生成してしまってもいいかもしれませんね。
>ワードや、PDFを起動して表示しようという計画もあるものですから、同じ症状が出たときに使えますか?
WSHはExcelとは関係ないので、キャプション指定というあいまいな方法ですが、他のアプリケーションでもタスクがあるならば可能だと思います。
http://okweb.jp/kotaeru.php3?q=493311
http://www.atmarkit.co.jp/fwin2k/operation/wsh05 …
ウィンドウタイトル(タスクバーのボタンの名前)
を指定してウインドウをアクティブにできるということですね。
ということは、起動させるものが決まっていれば
固定の文字列でもできそうですね。
勉強になります。ありがとうございました。
No.1
- 回答日時:
単なるVBスクリプトを作って、こちらでやっても、再現しませんでした。
なので、だめかもしれませんが、以下の方法では回避できませんか?
xl.DisplayAlerts = true
xl.visible = true
CreateObject("WScript.Shell").AppActivate xl.Caption ← 追加
Set book = Nothing
Set xl = Nothing
すばらしいです。
1行追加するだけで、解決することが出来ました。
ありがとうございます。
参考までに教えて下さい。
これは、WScript.Shellの機能でエクセルの
ウインドウをアクティブにしているという事ですか?
このxl.Captionがエクセルを差しているのでしょうか?
他のアプリケーションを起動したときにも応用できますか?
ワードや、PDFを起動して表示しようという計画も
あるものですから、同じ症状が出たときに使えますか?
お礼なのに、質問してすみません。
自分でも調べてみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IPアドレスのみをMsgBoxで表示...
-
FORMが開いているかどうかの確...
-
Win98seでスタートメニューに「...
-
DLLをREGSVR32しないで利用する...
-
ハードウェア変更のスキャンをO...
-
NEC 再セットアップできない
-
メモリの「コミット済み」の意...
-
\\Device\\Harddisk1\\DR1 でコ...
-
G5とインテルMac
-
PCを起動すると画面が真っ黒で...
-
RECOVERY(D:)ってなんですか?
-
NECノートPC 初期化方法を教え...
-
iBook G4 メモリ増設を考えてい...
-
コマンドプロンプトが重い
-
XP、OSCD無し リカバリディス...
-
デスクトップアイコンに黒い四...
-
HDDからSSDに換装したらまた変...
-
HDD内のリカバリー領域有無を調...
-
リカバリー領域からダイレクト...
-
このエラーはどういうことでし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FORMが開いているかどうかの確...
-
起動中のアプリ、ソフトの取得
-
DLLをREGSVR32しないで利用する...
-
Eclipse4.2について
-
Javaで環境変数を動的に変更す...
-
エクセルは立ち上げると記憶が...
-
ちょっと分からないので、教え...
-
タスクスケジュールで定時にポ...
-
Adobe Page Mill3.0jについて...
-
PCのパワー配分の見方
-
apacheの起動できません。
-
自動ログイン(windows2000pro)
-
プログラムからOS標準ブラウザ...
-
IPアドレスのみをMsgBoxで表示...
-
タスクトレイ常駐するプログラ...
-
VB6.0のツールバー標準メニュー...
-
ホームページのレジ処理はどう...
-
コマンドプロンプトでIEを起動...
-
どうしても登録できません。ど...
-
WebBrowserコントロールでの印刷
おすすめ情報