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

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

新規登録して質問してみよう
ただいま回答率
85.43%
VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

Q&A

解決済

1回答

580閲覧

バッチからVBScriptを読んでIEの操作を行うプログラムで、If ElseでElseの場合にエラーを、VBScriptを止めることなくエラーを出力したい

tfulcrum

総合スコア43

VBScript

VBScript(Visual Basic Scripting Edition)はMicrosftが開発したスクリプト言語であり、Visual Basicのサブセットです。

0グッド

0クリップ

投稿2021/11/01 04:22

バッチからVBScriptを読んでIEの操作を行うプログラムで、If ElseでElseの場合にエラーを、VBScriptを止めることなくエラーを出力したいのです。

人からVBScriptのプログラムを引き継いだのですが、
BATファイルからVBScriptを起動し、
VBScriptにてCSVファイルからキーワードを読み取り、キーワードに基づいてIEを操作し、ファイルに名前を付けてダウンロードするプログラムです。
ファイルに名前を付けて保存する所でしばしば失敗している事、VBScriptからBATに戻ったところで、CSVに入っているキーワード数を決めうちで指定し、ファイル数が一致していなければ最初からやり直すプログラムです。

CSVファイルの中にあるキーワードの数だけFOR NEXTで回しているのですが…。

あまりに効率が悪いと思い、
まずはFORループの最後で、正しいファイル名のファイルが保存されてる事をチェックし、保存されていなければ通知もしくは記録する、
次に、正しいファイル名で保存されていなければもう1度(あるいは決め打ちの回数)ループを回す、
最後に、決め打ちのファイル数と比較するのではなく、再度CSVファイルのキーワードとフォルダのファイル名を比較して足りないファイルだけ再度生成、
と変更したいと考えました。

If Elseで、ファイル名が正しいファイルが存在しない事は検出できましたが、
通知もしくは記録する、が問題で、
WScript.Echoですと、ポップアップが出て、IEを操作するプログラムですので、プログラムの実行が途中でおかしくなります。
CScriptで回避する、というページはいくつか見つけましたが、全体がWScriptで動いてますので難しいのかと。
呼び出したBATのコマンドプロンプトに表示するか、いずれにしても、ポップアップしないでエラーを通知する方法はありませんでしょうか?
エラーを、ファイル出力するしか手が無いでしょうか?

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2021/11/01 04:31

VBSの実行はwshですよね?batで処理する意味はありますか?
tfulcrum

2021/11/01 04:50

引き継いだばかりなので、大掛かりな修正は避けたいというのが最初ですが、 改めてみた所、VBSは部品であって、それをまとめるのにBATにしている様です。 もういっそ、BAT自体をVBSにしたら?とも思いますが、そうなるとやはり大掛かりで。 CSV以外にも、オプションとして分類の値を渡しており、 BAT内で、 複数行に渡り、下記を記載しています。 VBS1 引数1(分類) 引数2(CVS) 引数3 引数4 他に、ファイルをファイルサーバにアップしている様です。
guest

回答1

0

自己解決

投稿2021/11/01 06:19

tfulcrum

総合スコア43

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.43%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問