VBSのほうでも質問よいのでしょうか?
教えてもらえないでしょうか
小文字半角英数と大文字半角英数と半角数字の判別をするのを作っているのですが
Select Case Mid(val,1,1)
Case "a" To "z"
kazu="半角英小文字"
Case "A" To "Z"
kazu="半角英大文字"
Case "0" To "9"
kazu="半角数字"
Case Else
kazu="それ以外"
End Select
大体こんな感じにしたいのですがToのせいなのかエラーが出ます
これってA,B,C,D,E・・・という風に並べるしかないんでしょうか?
だれかお願いいたします
初心者さんのコードを貼り付けて実行してみましたが、ちゃんと出ましたよ。
ちょっと変えたのは、mid(val,1,1)のvalの定義と、valに内容を設定する
行を追加したのとkazu変数の定義くらいです。
ちなみにちょっと気になったのが、エラーはどんなエラーがでるんですか?
to で 並べずにいけますよ(^-^)
エラー タイプ
Microsoft VBScript コンパイル エラー (0x800A0408)
文字が正しくありません。
/Scripts/a.asp, line 6
Case "a" To "z"
というエラーです
いまだにこっちは出てます。
何が悪いんだろう・・・
TOが使えないのかと思ったりもしたんですけど違うみたいですし
すいません、エラー間違えてます
エラー タイプ
Microsoft VBScript コンパイル エラー (0x800A0400)
ステートメントがありません。
/Scripts/a.asp, line 13, column 9
Case "a" To "z"
--------^
こちらでした
ちなみに、全文短縮して見たらこんな感じ
<html>
<%
Dim vol
vol="a"
Dim kazu
Select Case Mid(vol,1,1)
Case "a" To "z"
kazu="半角英小文字"
Case Else
kazu="それ以外"
End Select
Response.Write kazu
%>
</html>
なんかきっとお馬鹿なことをしてるよう泣きがするんですが
わからない・・・
ごめんなさい。
VBS をVBAと見間違えて試していました。
ちょっと見直します。
もし、TOがつかえないのだとしたら
それにかわるものってあるんでしょうか?
惜しいですね。Mid(val,1,1)をAsc(Mid(val,1,1))にしてみましょう。
ASC・・・文字コードですか?
その場合はどうすればいいのだろう・・・??
単純にAsc(Mid(val,1,1))にすればいいというわけじゃないですよね?
エラーでますし。
詳しく教えてください
AscってVBSにないの?(汗)
ていうか、よく考えたら変数に「val」はいただけないですなぁ
よく考えなくても気付くべきだったが
Asc命令部分がエラー出ずに通ったならば、
Case部分を変えるべし
Case "a" To "z"
kazu="半角英小文字"
Case "A" To "Z"
kazu="半角英大文字"
Case "0" To "9"
kazu="半角数字"
Case Else
kazu="それ以外"
としている文字のところを
Case Asc("a") To Asc("z")
などとしてみましょう
できたらいいのだが
> ていうか、よく考えたら変数に「val」はいただけないですなぁ
まぁ、VBScriptに Val関数はありませんけどね。
で。VBS の Case では、To や Is が使えませんので、
AscCode = Asc(…)
If AscCode <= ○ And AscCode >= △ Then
:
ElseIf AscCode <= □ And AscCode >= ▽ Then
:
End If
のように処理してみるとか。
もしくは、RegExpオブジェクトを利用するという手もありますね。
いろいろありがとうございます
>通ってみたさん
ASCはありますが、文字コードなるものをどうやって扱えばいいのかわかってなかったです。
(プログラムというもの自体一週間前に始めたばかりの初心者ですので)
valは使わないほうがいいのですね。次からは使わないようにします
>魔界の仮面弁士さん
TOはやはり使えないのですね。どおりで・・・
(ISってなんだろ・・・?)
魔界の仮面弁士さんのやり方の意味がわかりましたので、
以下のように作り直しました。
(RegExpは調べるとIEのみのようなのでパスしました)
漢字と記号以外はこれで大丈夫なのかなと思ってます
抜けてるようなとこがあれば教えていただけると幸いです
AscCode = Asc("○")
If AscCode >= Asc("a") And AscCode <= Asc("z") Then
rc="半角小文字英数"
ElseIf AscCode >= Asc("A") And AscCode <= Asc("Z") Then
rc="半角大文字英数"
ElseIf AscCode >= Asc("0") And AscCode <= Asc("9") Then
rc="半角数字"
ElseIf AscCode >= Asc("ぁ") And AscCode <= Asc("ん") Then
rc="全角ひらがな"
ElseIf AscCode >= Asc("ァ") And AscCode <= Asc("ヶ") Then
rc="全角カタカナ"
ElseIf AscCode >= Asc("A") And AscCode <= Asc("Z") Then
rc="全角大文字英数"
ElseIf AscCode >= Asc("a") And AscCode <= Asc("z") Then
rc="全角小文字英数"
Else
rc=rc"漢字か、記号のなにか"
End If
問題はなさそうなので解決にチェックします
皆様いろいろありがとうございました
ツイート | ![]() |