- ベストアンサー
For next使う場合、next iはできない?
vbsでFor next使う場合、next iはできないのですか? for i = 1 to 2 msgbox "" next i をすると "ステートメントの末尾が不正です"800A401 になります。 しかし for i = 1 to 2 msgbox "" next にすると、問題ないです。 VBAではnext iでも実行できるけどVBSではだめなのでしょうか? 理由を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Excel2003(Office2003)は持ち合わせていないので、2002の場合なら・・ VBE上で for i = 1 to 2 msgbox "" next i となっていたら、for の所にカーソルを持って行って、F1 キーを押せば 該当すると思われるものがピックアップされます。 あるいは、For まで打ち込んで、F1 とか イミディエイトウィンドウ(Ctrl + G で出現)で、For まで打ち込んで、F1 とか 2002なら --------------------- For キーワード キーワード For は、次の構文で使用します。 For...Next ステートメント For Each...Next ステートメント Open ステートメント ------------------------- となりますので、For Each...Next ステートメント をクリックすると 前回回答のがでます。 たしか、2002の場合はVBAのヘルプはインストール時のオプション扱いだった記憶・・ 2003は分かりません。 蛇足ですがOffice2010のVBAのヘルプは今までで一番使いやすいです。 ところが2013では 『以前のバージョンの Office に付属していた開発者用リファレンス ヘルプ ファイルは、セットアップから削除され、 Microsoft Developer Network (MSDN) で参照できるようになります。』 だとさ (-"-) http://technet.microsoft.com/ja-jp/library/cc178954%28v=office.15%29 VBSのヘルプは、ここから http://www.microsoft.com/ja-jp/download/details.aspx?id=1406 scd56jp.exe をダウンロードして 実行するとインストール先を聞いてきます。OSがWinXPなら既定のフォルダは C:\Program Files\Microsoft Windows Script\ScriptDocs ですので、そこから script56.chm だけをお好きな所にコピーします。 他のものに用は無いので、コントロールパネルからアンインストールしてください。 または解凍ソフトをインストールして http://win.just4fun.biz/WSH/WSH%E3%81%AE%E3%83%98%E3%83%AB%E3%83%97%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AE%E5%85%A5%E6%89%8B%E6%96%B9%E6%B3%95.html にて。
その他の回答 (1)
- nicotinism
- ベストアンサー率70% (1019/1452)
VBAのヘルプだと For counter = start To end [Step step] [statements] [Exit For] [statements] Next [counter] で VBSでは For counter = start To end [Step step] [statements] [Exit For] [statements] Next となっています。 私もVBAでは、For ~ Next の入れ子の時に分かりやすいように [counter]を入れる場合がありますが 何故、VBSでは無いのかは分かりません。 開発者が『要らんだろう』って考えたから・・かな?としか。 元々VBSはVB・VBAの簡略版的なものに システムの操作用のメソッド・関数を加えたものと理解しています(私は)。 なので出来ない事もあります。 VBA の機能で VBScript に含まれていない機能 http://msdn.microsoft.com/ja-jp/library/cc392401.aspx
お礼
ご提示いただいたそのvba、vbsのヘルプはどうやって見れるのでしょうか? vbe画面で「loop」と入力して “For...Next ステートメントの使い方” と言うのを開いたのですが その構文は記載されてませんでした。(エクセル2003) でもvbsでは使えないという事がわかったのでよかったです。 vbsを開発する人は不要な機能を付けないようにしたのですね
お礼
ご回答ありがとうございました。