
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) バックグラウンドのプロセスのエクセルを閉じる方法 4 2022/05/12 15:39
- Visual Basic(VBA) DisplayAlertsブロパティで ”実行時エラー424オブジェクトが必要です” 5 2022/05/15 18:02
- Visual Basic(VBA) エクセルVBAのコードで質問です。 下のコードはJ16の文字列をB3を起点とする範囲から探して、見つ 5 2023/04/07 11:07
- Visual Basic(VBA) モードレスでユーザーフォームが開け(表示)ません。 4 2022/09/09 11:05
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- プリンタ・スキャナー DAISOのキャノン用詰め替えインクのイエローについて教えてください。 1 2022/09/05 14:38
- その他(プログラミング・Web制作) VBSでExcelファイル起動時、重複しても開くのを止めたい 1 2022/10/01 23:20
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Visual Basic(VBA) エクセルVBA エクセルを開いた後に編集可能な状態にするには? 2 2023/06/14 11:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
FORMが開いているかどうかの確...
-
起動中のアプリ、ソフトの取得
-
Eclipse4.2について
-
OS起動時に自動起動するアプリ
-
IPアドレスのみをMsgBoxで表示...
-
VB6.0のツールバー標準メニュー...
-
DLLをREGSVR32しないで利用する...
-
pythonです、ターミナル以外か...
-
Accessのフォームをコマンドラ...
-
メモリの「コミット済み」の意...
-
\\Device\\Harddisk1\\DR1 でコ...
-
RECOVERY(D:)ってなんですか?
-
NEC 再セットアップできない
-
モニターの一部が表示しない?
-
ビデオチャットで文字入力が変。。
-
システム復元の後、また・・・
-
RTOSの無限ループ
-
メモリが"written"になることは...
-
プロファイルエラーについて
-
Windows8.1の不具合の改善。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
FORMが開いているかどうかの確...
-
起動中のアプリ、ソフトの取得
-
DLLをREGSVR32しないで利用する...
-
Javaで環境変数を動的に変更す...
-
VC++からブラウザを起動し...
-
IEとクロームの表示ずれ
-
VBでメールを起動させるには・・・
-
アンケート型のホームページの...
-
プログラムからOS標準ブラウザ...
-
コマンドプロンプトでIEを起動...
-
XAMMP APACHE でhttp://localho...
-
勝手にウィンドウが表示されます
-
アプリケーション実行中にタス...
-
WinMe環境でのPATH設定の方法
-
タスクトレイ常駐するプログラ...
-
Netscape6.0でJavaAppletが作動...
-
ユーザごとでキーボードマップ...
-
ActiveX.exeでモーダルフォーム
-
WebBrowserコントロールでの印刷
-
Accessのフォームをコマンドラ...
おすすめ情報