WSH(Windows Script Host)をデバックしたいのでいろいろ調べて
Micrsoft Script Debaggerをインストールしました。
そして、コマンドプロンプトでstop行入りのhoge.vbsに対して、
「cscript.exe //X C:\hoge.vbs」及び「wscript.exe //X C:\hoge.vbs」を
実効しましたがデバッガは起動しませんでした。
(Micrsoft Script Debaggerの単独起動は確認済み)
他の方法でも結構ですので、皆さんのWSH(Windows Script Host)のデバックの
仕方を教えて下さい。
では、宜しくお願いします。
No.6ベストアンサー
- 回答日時:
こんばんは。
>Visual Studio 2005 スタンダード以上でWSHで1行ずつのステップインが出来るようですが何万も出す気がしないので。。。。
VS 2005 は、一応、フリーで凍結することになったはずです。ただし、有償版とは違いがありますので、少し、設定を変えなくてはならないはずです。有償版の値段も、Standard あたりなら、そんなには高くありません。今度、VS2008 になりましたら、フリーのほうも、またバージョンアップするはずです。ただ、私は、VS2005でWSHのチェックは試したことはありますが、良く分かりません。理由は、本来、Web のコードのチェックするためだと思うのです。
一応、VS 2005 は、持っていますが、使うのは、VB.Net だけです。他は、未だ、古いものを扱っています。
ある程度、VB系が詳しければ、エディタ一本で問題にはならないはずです。WSHは、VBAよりも遥かにレベルが高いです。私は、ほとんど、エディタ1本で作っています。ステップモードが出来ても、C言語エディタと同じで、あまり意味がないように思います。コードが読めないとダメなのですね。
それに、WMIをいじるのでは、レベルが高すぎます。最初に書いたかもしれまんせが、今のWSHのレベルは、VBとは分岐して、一人歩きしていますから、VBAを触るレベルではありません。
どうしても、専用エディタを手に入れたいのでしたら、VbsEdit というシェアウェアがあります。私は、旧版を持っていますが、そんなに使うことはありません。
No.5
- 回答日時:
補足:
>下記を実効してもIP アドレスも変更しないしエラーの表示も無いので
>どの様にしたら記述のミスを発見することが出来るのでしょうか。?
Loop の下の
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
If errEnable >0 Then
Wscript.Echo "Err:IP Address not enable to change"
End If
と入れてあげれば分かると思います。
No.4
- 回答日時:
こんにちは。
最初に、レスの付け方が逆でしたね。(^^;
最初に、補足側につけて、その後に、お礼をつけるか、最初からお礼側に書けば、こちらもすぐに対応できたのですが、過去のフィードバックは、こちらも時間のあるときになってしまいます。
>どの様にしたら記述のミスを発見することが出来るのでしょうか。?
それ自体には、ミスはありませんね。
途中、MsgBox で、判定をするしかありません。
たとえば、
If errEnable <> "" Then
MsgBox errEnable
End If
とするとか、コマンドプロンプトでみるなら、
Wscript.Echo errEnable
でみれます。
ところで、そのコード自体は、問題ないと思いますね。
確認は、コマンドプロンプトは、> ARP -a で見れると思います。
Wendy02様、回答ありがとう御座います。
なるほど、MsgBoxで何が入っているか確認するのですね。
私も、いろいろ無料のソフトを探してみましたが無料では
無いようですね。
Visual Studio 2005 スタンダード以上でWSHで1行ずつの
ステップインが出来るようですが何万も出す気がしないので。。。。
Wendy02様何度も、回答ありがとう御座いました。
No.3
- 回答日時:
はずしていたらごめんなさい。
Officeソフトをインストールしていたら、Excelを起動し、[ツール(T)]→[マクロ(M)]→[Microsoft Scrip Editor(E)]が表示されるか確認し、
実行してみてください。
実行できれば、EXCELを閉じ
Microsoft Scrip Editorを単体で起動します。
MSE7.EXE
私の環境では以下のフォルダにあります。
"C:\Program Files\Microsoft Office\Office10\MSE7.EXE"
[ファイル(F)]→[新規作成(N)]でHTMLファイルを作成し、
[表示(V)]→[プロパティウィンドウ(W)]でプロパティウィンドウを表示し、「defaultClintScript」で言語を選択
[表示(V)]→[ツールボックス(X)]でツールボックスを表示し、Buttonを選択し、ダブルクリック
するとページに「ボタン」が貼り付きます。
そのボタンをクリックすると、WSHのコードを編集出来るエディタが起動すると思います。
次に、インターネットエクスプローラを起動し、[ツール(T)]→[インターネットオプション(O)]→[詳細設定]タブで
[スクリプトのデバッグを使用しない]のチェックをはずしてください。
後は、VBAエディタみたいな感覚で、デバッグが出来ると思います。
この回答への補足
takana_様、時間が有れば下記のコードのデバックを教えて欲しいのですが
下記は、MSのサイトにあるIP アドレスを変更するスクリプトですが
下記を実効してもIP アドレスも変更しないしエラーの表示も無いので
どの様にしたら記述のミスを発見することが出来るのでしょうか。?
宜しければ教えて下さい。
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=True")
strIPAddress = Array("192.168.1.0")
strSubnetMask = Array("255.255.255.0")
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
Next
なるほど、会社のexcelは2000ですが上記の方法でも出来ますでしょうか?
ともあれ、今度やってみたいと思います。
回答ありがとう御座いました。
No.2
- 回答日時:
初心者はExcelを使うといいと思います
テキストエディタで 実行時のエラーを見て修正 これで十分ですが
もし実行時の動きをステップで見たい時などは
OfficeのVBAにのせれば それほど手を加えずにエディタとして使うことができます
ステートメント 関数は少し違うところもありますが
それほど問題になりません
良く分からないという人にはちょうどいいと思います
単純ミスをしないように良く勉強する方が大事だと思います
なるほど、OfficeのVBAにWSHを書いてステップで実行していくのですね
それは、未だやったことがないのでやってみたいです。
回答ありがとう御座いました。
No.1
- 回答日時:
こんばんは。
>他の方法でも結構ですので、皆さんのWSH(Windows Script Host)のデバックの仕方を教えて下さい。
昔、呼び出して使った記憶はあるけれども、"Microsoft Script Debugger" は、あまり良く覚えていないですね。スクリプトデバッガーで、WSHのデバッグというのはあまりしないのではないでしょうか?
以下に専用のツールでは、有名ですが、これはあくまでも練習用です。
http://homepage3.nifty.com/aokura/
asws1010.lzh
多くのみなさんは、WSH は、エディタひとつで作るのではないでしょうか?ただ、ヘルプ(Script56.CHM)は、呼び出しで使います。他のヘルプというと、WMI が必要ですよね。あれは、ややこしいですから、ヘルプやドキュメントなしでは、できません。
私は、専用ツールを探したことはあるのですが、あまり値段的にも安くないようですし、私たちのような2バイトの国では、Fontがサポートしてくれないので、海外のツールが思ったほど使えません。最終的には、ただのテキストエディタで落ち着きました。エラーが出ると、行番号と桁が出てくれるので、それを目安に直していきます。
この回答への補足
Wendy02様、時間が有れば下記のコードのデバックを教えて欲しいのですが
下記は、MSのサイトにあるIP アドレスを変更するスクリプトですが
下記を実効してもIP アドレスも変更しないしエラーの表示も無いので
どの様にしたら記述のミスを発見することが出来るのでしょうか。?
宜しければ教えて下さい。
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=True")
strIPAddress = Array("192.168.1.0")
strSubnetMask = Array("255.255.255.0")
For Each objNetAdapter in colNetAdapters
errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
Next
お久しぶりです、Wendy02様(前にexcelマクロでお世話になりました。)
今度、リンク先の「WSHを始めよう!」を使ってみたいと思います。
なるほど、「エラーが出ると、行番号と桁」で判断しているのですね。
実は、過去に変数か何かにエラーが有っても何もメッセージが出なかったので
どの様に判断すれば良いのかと思いまして今回質問しました。
回答ありがとう御座いました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Microsoft ASP C#からvbsを実行したい 5 2022/11/24 17:31
- その他(プログラミング・Web制作) TwitterAPIを使用せずに自動ツイートする方法を知りたい。考え方としてはブラウザを擬似操作して 2 2023/02/02 17:16
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- JavaScript javascriptで文字分割は、 split() などメソッド不要??? 4 2023/02/06 22:50
- JavaScript プラグイン無しでContactform7にdatepickerを実装 3 2022/10/25 02:18
- その他(プログラミング・Web制作) VBSでコマンドプロンプトを起動しその実行結果をテキストに出力する方法はどうやるんですか? 1 2022/11/12 13:19
- UNIX・Linux ホストオンリーアダプタで接続したい 1 2022/08/10 21:46
- CAD・DTP Autocad Scriptファイルからの入力とコマンドラインからの入力が違う 1 2023/08/01 09:13
- JavaScript 2段階プルダウンで1段階目の選択を終えた後に選択ボックスを見えなくしたい 2 2022/07/05 21:58
- JavaScript javascriptで変数を組み込みたい 2 2023/01/13 09:52
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TeraTermマクロの”Link...
-
C#からvbsを実行したい
-
windows10でハンゲーム起動でき...
-
Webアプリから起動した実行ファ...
-
コマンドボタンのキャプション...
-
powershellの初心者です(form...
-
ゆっくりムービーメーカーのエ...
-
HP-UXのシステム起動時からの時...
-
「cronから1分毎に起動→処理」 ...
-
デスクトップパソコンのSSD化を...
-
MacBookAir起動時にRubyソース...
-
ASP.NETからエクセルを呼び出せ...
-
jdk17.06のインストーラーが起...
-
ctfmon.exe。スタック ベースの...
-
タスクバーのボタンがオレンジ...
-
web.configとは?(初心者です)
-
有効なwin32アプリケーションで...
-
McAfeeの使い方
-
Accessのマクロで、"RunApp/ア...
-
パソコンのアプリケーションエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TeraTermマクロの”Link...
-
コマンドボタンのキャプション...
-
Media Gallery?勝手に起動
-
MacBookAir起動時にRubyソース...
-
信長の野望 革新について
-
jdk17.06のインストーラーが起...
-
タイマーマクロの二重起動防止...
-
C#からvbsを実行したい
-
実行プログラム名の取得
-
windows10でハンゲーム起動でき...
-
Windowsが起動しなくなってしま...
-
WindowsのコマンドラインからEx...
-
デスクトップパソコンのSSD化を...
-
audiveris(pdf楽譜を読み込む...
-
エクセルで『DTPicker』が削除...
-
VBAカウントダウンタイマーの2...
-
コマンドプロンプトのERRORLEVE...
-
runasで起動したコマンドプロン...
-
ソフトの多重起動制限
-
Apache2.2起動しない・・・助け...
おすすめ情報