• 締切済み

タスクスケジューラに登録するとvbsからエクセルマ

タスクスケジューラに登録するとvbsからエクセルマクロが起動しない。 wiodowsのタスクスケジューラでbatを起動し、batからvbsを起動し、vbsからエクセルマクロを起動するバッチを作ったのですが、エクセルマクロが起動しません。 batをダブルクリックした場合は問題なく動くのですが、タスクスケジューラから手動起動したり、時間を指定した場合は動きません。 このときタスクマネージャのプロセスにはwscript.exeはいましたがEXCEL.EXEはいませんでした。 タスクスケジューラで起動するときに特に気をつけることはあるでしょうか?

みんなの回答

  • mt2015
  • ベストアンサー率49% (258/524)
回答No.3

タスクスケジューラの「全般」タグの「構成」を”WindowsServer2003、WindowsXPまたはWindows2000”にしてみてください。 本来の用途とは違いますが、バッチファイルを一番確実に動かすことができます。

  • chie65535
  • ベストアンサー率43% (8508/19344)
回答No.2

>タスクスケジューラで起動するときに特に気をつけることはあるでしょうか? 実行するタスクを「管理者として実行」にしておかないと、子プロセスが起動されません。 vbsからEXCELを起動しようとして、権限不足により、EXCELの起動に失敗します。

fxgame1224
質問者

お礼

ありがとうございます。 その後自己解決しました。 管理者として実行にして、仮想デスクトップのフォルダを作ったらうまくいきました。 http://gagaj.hateblo.jp/entry/2015/03/21/162218

  • ushi2015
  • ベストアンサー率51% (241/468)
回答No.1

こんにちは RunAutoMacros 1 とかは設定してありますか? 最上級の特権で実行するようになっていますか?

関連するQ&A

  • 夜間だとvbsからエクセルマクロが起動しない。

    夜間だとvbsからエクセルマクロが起動しない。 wiodowsのタスクスケジューラでbatを起動し、batからvbsを起動し、vbsからエクセルマクロを起動する夜間バッチを作ったのですが、エクセルマクロが起動するタイミングでvbsが処理終了?します。 タスクスケジューラから手動起動したり、昼間に時間を指定した場合は問題なく動くのですが、夜間(早朝5:30)だと動きません。 たまたまエクセルマクロが異様に時間がかかっている可能性も考えましたが、朝9時時点でタスクマネージャのプロセスにEXCEL.EXEはいませんでした。 夜間バッチで特に気をつけるべきことはあるでしょうか?

  • タスクスケジューラからのバッチ起動

    タスクスケジューラからのバッチ起動で動作せず困っております [環境] ・windows server 2008 システムディスク:C ・共有ディスクをLANにて接続 ネットワークドライブとしてD:に設定 [動作概要] ・バッチ(*.vbs,*.bat)、データ、ログをD:に配置 ・タスクスケジューラに*.vbsを登録 ・*.vbsからD:にある*.batを起動(WScript.Run) [事象] ・*.vbsをGUIよりダブルクリック/エンターキーでは問題なく起動 ・*.vbsをタスクスケジューラから起動するととまってしまう ・*.vbs内の*.batコール箇所をコメントして実行で動作は最後まで終了 ・*.bat単体で動作させても問題なく終了 ・*.batをタスクスケジューラで起動するととまってしまう *.bat内で(>D:)などのディレクトリ移動コマンドを入れてもとまってしまう [原因推測] ・タスクスケジューラからネットワークドライブが認識できない? ・*.vbsで実施するWScript.Runの実行者がsystemで、 ネットワークドライブの認識用の環境情報(unixでいうcshrcみたいなもの)を 読み込まないで動作する? [問] ・上記構成では動作ができないのでしょうか? ・実現可能な方法があればヒントでもほしい 大変複雑な内容になって申し訳ありませんが 何か察することがあればコメントください

  • Windows7のタスクスケジューラで

    Windows7のタスクスケジューラで 並列で動いている2つのタスク(.batや.vbs)が両方とも完了したら次のタスクが動くような仕組みはできますか?

  • タスクスケジューラでbatファイルを動かしたい

    Windows10とWindows7を使っています Biosにタイマー機能がないノートPC(Windows7)を、遠隔PC(Windows10)からタスクスケジューラを使ってWakeOnLanで起動させることにより、タイマー起動のようなことをしようかと思い立ちました。 http://plaza.rakuten.co.jp/mscrtf/diary/201210120000/ こことほぼここと同じことを考え ・コマンドでMagicPacketを送れるソフト(MagicSend)を探しだし ・MagicSendと同一ディレクトリ内にWakeOnLanのbatファイルを作って配置し ・そのWakeOnLanのbatファイルをタスクスケジューラに登録 したところ、起動に失敗しました。 ・WakeOnLanのbatファイルを手動で動かすと起動する ・WakeOnLanのbatファイルにストップウォッチソフト起動コマンドを追加してみたところ、手動ではWakOnLanもストップウォッチも起動するが、タスクスケジューラでは起動しない ところから、タスクスケジューラがバッチファイルの実行に失敗しているのではないかと思います ここから先がわからなくなりました この場合、どこを疑うべきでしょうか? Windows10のタスクスケジューラはWindows7とは違う点があるとか、タスクスケジューラでbatファイルを動かす場合はbatファイル内に記述するコマンドのカレントディレクトリの位置に気をつけなくてはならない(絶対パスを指定すべし?)とか、その他ありますか?

  • タスクスケジューラで表示されるアプリの最小化

    Windows10 office2016 excelマクロであるアプリ(A)を起動する上で、もともと何かしらのアプリ画面が表示されていると邪魔な場合があります。 なのでタスクスケジューラで表示されているアプリを最小化して (A)を起動する構成にしたいです. 下記は(A)を起動するマクロの部分 With CreateObject("Wscript.Shell") .Run "c:\work\kido.bat", 5 End With これを実行する前にbatファイル(close.bat)を起動して最小化したい With CreateObject("Wscript.Shell") .Run "c:\work\close.bat", 5 End With With CreateObject("Wscript.Shell") .Run "c:\work\kido.bat", 5 End With こんな構成のイメージかと思っています。 このclose.batの中身あるいは、マクロ文で可能なら、それでもかまいません。 よろしくお願いします。

  • JP1からvbs(PSExec)が起動できない

    突然失礼します。 以下のサーバーAにあるvbsを、JP1から起動しようとしていますが、うまく起動しないので、もし原因が分かる方がいたら、ご教授願いたいです。 起動しようとしているサーバーAの「test.vbs」は、簡単に言うと、PsExecを利用して、サーバーBの「hoge.bat」を実行する内容です。 ***test.vbs*** Set WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run "PsExec.exe サーバーBIPアドレス -u 実行ユーザ -p 実行ユーザーパスワード cmd" WshShell.AppActivate "cmd " WScript.Sleep 3000 WshShell.SendKeys "cd C:\" WshShell.SendKeys "{enter}" WshShell.SendKeys "hoge.bat" WshShell.SendKeys "{enter}" WScript.Sleep 10000 WshShell.AppActivate "cmd" WshShell.SendKeys "exit" WshShell.SendKeys "{enter}" ************************ 上記バッチを手動で実行するとうまくいくのですが、 JP1で起動しようとすると、うまくいきません。 そもそもPsExecが実行出来ていないかも。。。。 宜しくお願いします。

  • バッチファイルファイル→VBS→エクセル マクロを有効にして起動

    Win/XP エクセル2002使用です。 VBSからエクセルのマクロを有効にして立ち上げたいのですが、 上手くいきません。 バッチファイル側  cd /D c:\  C:\***.vbs  exit /B VBS側 'エクセル起動  Set WshShell = CreateObject("WScript.Shell")  WshShell.CurrentDirectory = "C:\***"  WshShell.Run "C:\***\***.xls",3  WScript.Sleep(5000)  WshShell.SendKeys("E") '←マクロを有効にする  WScript.Sleep(5000)  WshShell.SendKeys("U") '←データソースへのリンクを更新 エクセル側(マクロ)  Sub Auto_open()   Application.OnTime TimeValue("13:00:00"), "Action"  End Sub  Sub Action()    ・・・(省略)・・・  End Sub ----------------------------- また、エクセルマクロは、VBSではなく手動で立ち上げますと、 問題なく時間になった時(13時)に作動します。 VBSのRunメソッドが、 エクセルマクロの Application.OnTime を待たずに走ってしまうことで、 エクセルマクロが無効になってしまっているのではないか? もしくは、データ更新のための sendkey("U")によって マクロが無効になってしまっているのはないか? と思っています。 恐れ入りますが、 よろしくアドバイスの程お願いします。

  • タスクスケジューラでのtelnet実行について

    よろしくお願いいたします。 ネットワーク機器に定期的にログインチェックを行う必要が生じたため、 バッチファイルとVBSを作成し、手動で実行すると問題なく動作しました。 ところがWindowsタスクスケジューラでユーザーがログオフした状態で実行すると 異常終了してしまいました。 処理の流れは以下になります。 (1)バッチファイル起動 (2)バッチファイルが適当な名前を付けたコマンドプロンプトを起動。 (3)バッチファイルがVBSを起動 (4)VBSが(2)で起動したコマンドプロンプトをアクティブにする。 (5)VBSがSendKeysメソッドでコマンドプロンプト上でtelnetを実行 原因が分からず困っています。 ユーザーがログオフしている環境ではtelnetは実行できないものなのでしょうか。 どうぞご教授下さい。

  • タスクスケジューラでEXEが動かない

    教えて下さい。 あるEXE(VisualSutudiio2005でつくった)を、 タスクスケジューラで自動実行させようとしたのですがうまく動きません。 (スケジューラからバッチファイルを起動してバッチファイルないでEXEを起動しています) 正常に終了したかのうように終わってしまいます。 ※バッチファイルを普通に実行した場合は正常に動作します。 何が原因なのでしょうか? どうすれば自動実行できるようになるのでしょうか? よろしくお願い致します。

  • VBSを利用して、IEのタブを自動的に切り替え

    VBSを利用して、IEのタブを自動的に切り替え続けるスクリプトを作成しています。 以下現状 手動でやる事 ・作成したVBSファイルをダブルクリックして起動 ・IEは常に画面の全面(アクティブウィンドウ)にしておく VBSファイルの中身 set W = WScript.CreateObject("WScript.Shell") do WScript.sleep 30000 W.Sendkeys "^{TAB}" loop これでも正常に動くのですが、 ここにESCキーを押す事でプロセスを終了させるスクリプトを追記したいのですが、どのようにしたらよいでしょうか。 ご教授お願いします。