
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
#2です。
えーと、解決したのかな~。#1の補足を読んで自分も#3、#4のような回答をしようと思ったんだけどそれは控えて様子を見てました。確かに#1の補足どおり読み取ると#4のような回答になる。でもね、質問者さんの過去の投稿を読むとそれぐらいはわかってるんじゃないかと思ったんですよ。たとえばQNo.4071972でやはりvbscriptの質問をされてるわけですが、その中でも文字列の比較はやってるんですよね。具体的には
> if lcase(folderitem.name) = lcase(sConPaneName) then
のあたりで。
基本のキですからね。質問者さんが訊きたいのは本当にこういうことなのか、それとも他にあるのか、正直よくわかりません。他の回答者の方も同じような思いなんじゃないかと思います。
というわけで、質問がうまく伝わってないと思うなら補足してください(解決済みならその旨を)。
No.4
- 回答日時:
No1です。
もしかして、『AでもなくBでもない場合』について質問されてますか?
IPアドレスがどうじゃなく、単純な文字列の質問として。
以下例ではIPアドレスを address とします。
address の値は色々と変えてみて下さい。
-------------------------------------------------------
Option Explicit
Dim address
address = "192.168.1.11"
If (address <> "192.168.1.1" And address <> "10.1.1.1") Then
Call MsgBox("IPアドレスは異常です")
Else
Call MsgBox("IPアドレスは正常です")
End If
-------------------------------------------------------
If文では address が "192.168.1.1" 以外で、かつ
"10.1.1.1" 以外の場合に true となります。
メッセージには "IPアドレスは異常です" と表示しています。
IPアドレスが "192.168.1.1" もしくは "10.1.1.1" のどちらかと
完全一致する場合のみ false となり、"IPアドレスは正常です" となります。
以上でよろしいでしょうか。
No.2
- 回答日時:
質問からは192.168.1.1、192.168.1.11、10.1.1.1が正解なんだろうなとは思いますが、192.168.1.2が正常なのか異常なのかわかりません。
ちゃんとした回答を期待するなら、正常なIPアドレスを正確に補足するべきだと思います。連続する場合は範囲でいいです。ということで詳細不明ですが、192.168.1.1~192.168.1.254の範囲が正常だということにして説明を続けます。
いろいろやり方はあると思うけど、今回はドット付きの10進表記をロングIPアドレスに変換して比較したらどうだろう(変換のやりかたは参考URLを参照)。
正常な範囲は192.168.1.1~192.168.1.254なのでロングIPアドレスに変換すると3232235777~3232236030になります。192.168.1.11が正常か判断するには、ロングIPに変換すると3232235787になるので、これが3232235777~3232236030の範囲にあるかを調べればいいと思います。
どうしても文字列で比較したいなら#1さんのように正規表現でやりますが。
参考URL:http://d.hatena.ne.jp/KuroNeko666/20071225/11985 …
No.1
- 回答日時:
以下コードは、文字列"192.168.1.1"を含む文字列を
検証するサンプルコードです。
-------------------------------------------------------
Option Explicit
Dim objRE
Set objRE = CreateObject("VBScript.RegExp")
objRE.Pattern = "192.168.1.1"
If objRE.Test("192.168.1.11") Then
Call MsgBox("おぅけぃべいべぇ")
Else
Call MsgBox("おーぅのーぅ…")
End If
Set objRE = Nothing
-------------------------------------------------------
"192.168.1.1" というパターンを作成し、Testメソッドで
検証しています。この例では結果がTrueになります。
"192.168.1.1" をパターンとした場合の結果例です。
"192.168.1.1" → true
"192.168.1.11" → true
"192.168.1.2" → false
単に"192.168.1.1" と "192.168.1.11"だけを検証したいのであれば
case文で対応すれば良いかと思います。
この回答への補足
“引っかかる”の表現が悪く申し訳ありません。
期待したいのは192.168.1.1「以外」で、かつ10.1.1.1「以外」だった場合はifの中にあるコマンドを実行させたいのですが、
InStrを使うと、IPアドレスが192.168.1.11だった場合、文字として192.168.1.1が含まれているため、1文字多くても192.168.1.1と同じ動きをしてしまいます。
完全一致での文字列比較をさせる必要があるのですが、どうしたらいいのか。
というのが質問の内容です。お手数かけます
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/01/23 17:13
- Excel(エクセル) VBAで “:” を含むセルの特定 2 2023/05/11 16:30
- Visual Basic(VBA) VBA 改行コードの取り方 1 2022/03/22 14:14
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Excel(エクセル) エクセルで2つの表を比較して、文字列が同じだが、その行のある値が違うものを抽出したい 1 2022/10/06 21:48
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) ExcelVBAでDo Until loopのネスト、IF文を使って一致する物と一致しない物としたい 11 2022/12/24 17:46
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
数値の値を時刻に変換する方法...
-
WORD型をCString型に変換する方法
-
C++ 文字列変数と16進数の比較
-
VB6.0の「vbFromUnicode」はVB....
-
補数について教えてください!
-
2進数から10進数へ変換
-
Boolean型変数の値を反転する方法
-
数字→漢数字変換
-
バイナリデータの文字列変換(5...
-
VB6.0 String型→Long型変換方法...
-
c++ CString char* BSTR textbo...
-
VB6 case文について
-
VBA 変数名に変数を使用したい。
-
C#でbyte配列から画像を表示さ...
-
INT64対応のprintf系関数はあり...
-
accessでフィールド追加のあと...
-
SQLを発行とは?クエリの作成と...
-
C# DataTableに最後に追加した...
-
エクセルでXY座標に並べられた...
-
Dir関数で読み取り順を操作でき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
16進をASCIIコードに変換する...
-
WORD型をCString型に変換する方法
-
10進数を2進数
-
C#で文字列を数値に変換する方法
-
16進コード文字列を文字列に変換
-
VC++ std::stringからLPCWSTRに...
-
【C++/CLI】int型からString型...
-
Boolean型変数の値を反転する方法
-
型変換について (C++ Builder5)
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
-
ASPでVBのFormat関数のような機...
-
VB6.0 String型→Long型変換方法...
-
Excelの数字(文字列)合計につい...
-
2進数から10進数へ変換
-
vb6の桁数指定
-
n進数の値を10進数の値に変換す...
-
数字→漢数字変換
おすすめ情報