No.2ベストアンサー
- 回答日時:
> このcodeは正しいのでしょうか?
コードとしては「間違ってはいない」ぐらいでしょうか・・・
VB(VB.NET)の場合、(VB2005のヘルプの「ブール型 (Boolean) (Visual Basic) 」より抜粋)
------------------------------------------------------------
Visual Basic で数値型の値をブール型 (Boolean) に変換すると、
0 は False になり、その他の値はすべて True になります。
Visual Basic でブール型 (Boolean) の値を数値型に変換すると、False は 0 になり、True は -1 になります。
-------------------------------------------------------------
と言う制約がありますから、期待どうりに動作するでしょうけど・・・
bool がFalseなら、
「bool -True」は「0- -1=1」となり、「0以外」なので、Trueになり、
bool がTrueなら、
「bool -True」は「-1- -1= 0」となり、「0」なので、Falseになる・・・
> ”正しい方法”
は、やはり、「Not 演算子」による「論理否定」でしょうね。
No.3
- 回答日時:
#2です。
追記ですが、VB2005で、「Option Strict On」(暗黙の型変換禁止)の設定をしている場合、
> bool = bool - True
は、
> bool = CBool(CShort(bool) - CShort(True))
の様に明示的な型変換を記述しないとエラーになりますので、ご注意。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
- Visual Basic(VBA) EXCELのセル相互同期用のVBAでの不具合 3 2022/08/10 11:44
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Excel(エクセル) エクセルVBA、ファイル名をセルの値で保存の方法を教えてください。 おそれいります。こちらで数々のエ 6 2023/06/30 22:17
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
16進をASCIIコードに変換する...
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
VB6.0の「vbFromUnicode」はVB....
-
C#で文字列を数値に変換する方法
-
16進コード文字列を文字列に変換
-
textbox.textやlabel.captionの...
-
バイト型のデータをLong型に変換
-
C++ 文字列変数と16進数の比較
-
vb6の桁数指定
-
2の補数の計算について
-
VBAのstrConv関数のUNICODE変換...
-
C#でListとDictionaryの判別方法
-
指定日付から90日後の日付を算...
-
【C++/CLI】int型からString型...
-
VC++ std::stringからLPCWSTRに...
-
VBA 変数名に変数を使用したい。
-
ExcelVBAからAccessMDB内のテー...
-
vba フィルター 複数条件 3つ以...
-
2つ目のレコードの値を取得す...
-
フィールド名の指定でエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB6.0の「vbFromUnicode」はVB....
-
VB.NETで1→A、2→B、26→Z、27→AA...
-
16進をASCIIコードに変換する...
-
16進コード文字列を文字列に変換
-
WORD型をCString型に変換する方法
-
C++ 文字列変数と16進数の比較
-
C#でListとDictionaryの判別方法
-
【C++/CLI】int型からString型...
-
Pythonの指数表記について
-
バイト型のデータをLong型に変換
-
10進数を2進数
-
2進数から10進数へ変換
-
対数変換のついて
-
数字→漢数字変換
-
Excelの数字(文字列)合計につい...
-
Boolean型変数の値を反転する方法
-
VC++ std::stringからLPCWSTRに...
-
VB6 case文について
-
文字型を日付/時刻型に変換する...
-
textbox.textやlabel.captionの...
おすすめ情報