質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

88.38%

タスクスケジューラから起動したVBSでWebページを印刷したい

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 1,071

前提・実現したいこと

Windows Server 2019上でInternet Explorer 11で表示したWebページを定期的に印刷を行わせたい為、
印刷するVBSをこちらのサイトを参考にして作成し、
タスクスケジューラに起動タスクを作成しました。
タスクはサインアウト中も動作させます。

発生している問題・エラーメッセージ

タスクを起動したところ、状態が実行中のまま返ってきません。
どのステップで止まっているか確認する為、ファイルに進捗を出力するようにして実行したところ、
印刷のExecWBで停止していることが分かりました。
(下記のソースの"読み込み待機の終了"までがファイルに出力されていました。)
正常に印刷させるには何か処理が不足してるのでしょうか?

Dim fso
Set fso = WScript.CreateObject("Scripting.FileSystemObject")

Dim outputFile
Set outputFile = fso.OpenTextFile("c:\test.txt", 2, True)

outputFile.WriteLine "処理の開始"

'IE
Set ie = CreateObject("InternetExplorer.Application")
ie.Visible = True

outputFile.WriteLine "IEの起動"

'Webページを開く
ie.Navigate "https://www.google.com/"

'ページの読み込みが終わるまで待機
Do Until ie.Busy = False
   WScript.sleep(250)
Loop

outputFile.WriteLine "読み込み待機の終了"

'デフォルトプリンタに印刷する(印刷ダイアログなしで)
ie.ExecWB 6, 2, 3

outputFile.WriteLine "印刷の終了"

'IEを終了
ie.Quit

outputFile.WriteLine "IEの終了"

outputFile.Close

試したこと

VBSをexplorer等から実行すると正常に印刷されました。
実行したユーザもタスクを起動するユーザと同一ユーザを使用しており、administrators権限を与えています。
また、既定のプリンタをいくつかのメーカーやPDF出力を行う仮想プリンタに変えても状況は同じです。

VBSではie.VisibleをFalseにしたり、
ie.ExecWBの部分の不要と思われる第3引数を除いて
ie.ExecWB 6, 2
としたりもしましたが、結果は変わりませんでした。

タスクの実行時にユーザがサインイン・サインアウトしていても結果は変わりません。

調査していると、EXCELでも同様にサインインしなければタスクスケジューラから実行できないという事象のサイトが見つかりました。
こちらでは%SystemRoot%\SysWOW64\config\systemprofile配下にDesktopというフォルダを作ることで対策されていました。
試してみましたが結果は変わらず、Internet Explorerの実行には影響しないようでした。

補足情報(FW/ツールのバージョンなど)

Internet Explorerでの見た目での印刷が必要な為、
ChromeやFirefox等は使用できない状態です。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • dotnetuseryamag

    2019/09/06 10:05

    otn様
    申し訳ありません。設定を誤っていました。改めて「ユーザーがログオンしているときのみ実行する(R)」を選択した状態で、「タスク実行時に使うユーザーアカウント」に指定したユーザでサインインした状態でタスク実行すると、正常に印刷できました。

    キャンセル

  • otn

    2019/09/06 20:31

    とすると、「画面」がないと実行できない処理ということなので、無理でしょう。

    キャンセル

  • dotnetuseryamag

    2019/09/09 17:05

    ありがとうございます。サインインしていない状態ではInternet Explorerで使用する領域のようなものが確保されず、エラーとなるのかも知れないですね。この点について、こちらでも調査してみます。

    キャンセル

まだ回答がついていません

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 88.38%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る