• ベストアンサー

VBの質問#if 0 then ってどう言う意味?

VBの質問です。 処理1 #If 0 Then 処理2 #End If 処理3 てどういう意味ですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • ykkw_2001
  • ベストアンサー率26% (267/1014)
回答No.3

#1 の方がおっしゃる通り、条件付きコンパイルです。 これは、 >処理1 >#If 0 Then >処理2 >#End If >処理3 こういうプログラムと同じです。 処理1 処理3 つまり、処理2のとこを削除してしまってもコンパイルしたプログラムは、同じなんですよ。 んで、特に、 >#If 0 Then っていうのは、処理2のとこを、 「削除したことがわかるように(履歴を残したまま)削除する」 ということで、バグ修正や仕様変更などバージョンアップで削除するときに、よくやる慣習みたいなもんです。 C言語などでもよく同様のことをやります。 #Else もあるので、使いようによっては、便利です。 #ここだけの話、「万が一、修正したのが間違っていても、すぐ元に戻せるよ~ん」という感じで、なんだか男らしくなくて私は嫌いなんですが・・・ #ちなみに、私の周辺では、バックアップもとらずに、要らない(と思われる)ソースファイルを一気に削除する「男の子ごっこ」がはやってます。(アホですね)

phoo
質問者

お礼

詳細なコメントありがとう

その他の回答 (2)

  • shogenji
  • ベストアンサー率31% (31/98)
回答No.2

質問の例の場合だと, 処理1と処理3はコンパイルされ,処理2はコンパイルされません. 意味としては,処理2の部分をコメントにしているのと同じです. if文はif (a > 10) Then…のように書きますが, 条件付きコンパイルの場合も同じで, #if (条件式) Then…#else…#endifのように書きます. if文では,0の場合を偽,0以外の場合を真としているため, 処理2の場合は条件式が0となっているので,常にコンパイルされません.

phoo
質問者

お礼

コメントありがとうございました

  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.1

こんにちは。maruru01です。 #Ifの文は、条件付きコンパイル用のステートメントです。 詳細はヘルプで、 「#If」、「条件付きコンパイル」 を検索すると説明があります。 では。

phoo
質問者

お礼

早々のコメント有難うございました

phoo
質問者

補足

真中の処理をコメントにするという意味みたいです

関連するQ&A