プログラミング

プログラミングに関するフォーラムです。VBAは除きます。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(指定なし : 指定なし)
VBSのCaseの構文エラー
投稿日時: 17/03/24 11:54:09
投稿者: hisayanxp

以下の記述を実行すると、「5行j目 7文字目 構文エラー」と表示されます。
どこに問題があるのかお教えいただけないでしょうか。
Dim strX
strX = InputBox("0〜100の数字を入力してください")
     
Select Case intX
    Case Is >= 80
        MsgBox "優"
    Case Is >= 70
        MsgBox "良"
    Case Is >= 60
        MsgBox "可"
    Case Else
        MsgBox "不可"
End Select

回答
投稿日時: 17/03/24 12:32:41
投稿者: Suzu

こんにちは。
 

引用:
5行目 7文字目 構文エラー

 
5行目
    Case Is >= 80
 
7文字目
  質問文の中で貼付けか入力の際に 位置が変わっていますが
   多分、「Is」の「I」に反応しています。
つまり、Is が 構文として間違ってるよ って事です。
 
 
 
 VBS と VBA 似ている部分は多いですが、全く同じではありません。
 VBA では使えて、VBSでは使えない事も多いです。
 
 SELECT CASEステートメント
 VBAリファレンス
https://msdn.microsoft.com/ja-jp/library/office/gg278665.aspx
 
引用:
Case が出現する場合は必ず指定します。expression、expression To expression、Is comparisonoperator expression のいずれかの形式 (複数も可) の区切られたリストを指定します。To キーワードは値の範囲を指定します。To キーワードを使用する場合は、小さい方の値を To の前に置く必要があります。Is キーワードは比較演算子 (Is と Like を除く) と共に使用して、値の範囲を指定します。指定しない場合、Is キーワードは自動的に挿入されます。

 
 
 VBScript
https://msdn.microsoft.com/ja-jp/library/cc392472.aspx
引用:
Case 節を記述する場合は必ず指定します。1 つ以上の式をカンマ (,) で区切って指定します。

 
Isを使えるとは言っていません。

投稿日時: 17/03/24 16:53:53
投稿者: hisayanxp

Suzuさん
 
ありがとうございました。
VBSではCase Is や Case A To B の構文は使えないと認識しておけば良いということですね。わかりました。

回答
投稿日時: 17/03/24 21:21:34
投稿者: MMYS

VBSはVBAと ほとんど同じ構文です。しかし、言語としては全く別の言語のため、
一部に使えない命令があります。Select CaseのIsキーワードは、その一つです。
 
https://msdn.microsoft.com/ja-jp/library/cc392401.aspx
 
ところで、hisayanxpさんの過去の発言内容から目的はVBSでなく、
プログラミングの習得が目的のように感じます。
であれば ExcelVBA をおすすめします。
VBAならVBEによる支援機能があるため、VBSとは比較になりません。
 
また、先に申し上げたとおり、VBSとVBAはほとんど同じ構文のため、決して無駄にはなりません。
 

投稿日時: 17/03/25 07:23:01
投稿者: hisayanxp

MMYSさんへ
そうなんです。最終目的はVBAなんですが、本当に基礎から学びたいと思いVBSからスタートしました。