
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
他の方の指摘にあるように
ユーザー定義型は、値型なので、Nothing には、なりません。
くだらない例ですが
Type MyType
a As String
b As Integer
End Type
Public MyNothing As MyType '値が未設定な状態(デフォルト初期化状態)
Public Sub test()
Dim a As MyType
If a.a = MyNothing.a And a.b = MyNothing.b Then
MsgBox "yes"
End If
End Sub
みたいにすればどうでしょう。
メンバがそれぞれ未初期化のものと同じであるかどうかは、function にするといいかもしれません。
(未初期化が有効な値を表す場合には使えません)
いろいろやってみてたらよくわからないけど、
↓のようにすると望んだように動いてくれました。
If Not Not ユーザー定義型 Then
~処理~
End If
回答ありがとうございました。
No.2
- 回答日時:
私が知ってる限り、On Errorとかを使って・・・という無理矢理な方法しかないです。
そういうわけで私は
構造体(ユーザー定義型)→クラス
配列→コレクション
を使ってます。
いろいろやってみてたらよくわからないけど、
↓のようにすると望んだように動いてくれました。
If Not Not ユーザー定義型 Then
~処理~
End If
回答ありがとうございました。
No.1
- 回答日時:
>ユーザー定義型がNothingじゃなかったら
ユーザー定義型とは?
Type ユーザー定義型
aaa as string
bbb as integer
end Type
と宣言してあって、
Dim 変数 as ユーザー定義型
で変数がNothingであるかどうかを知りたいということ?
Nothingはオブジェクトに対しての比較なので、単なる型で定義されている変数はNothingにしようがありません。
この場合、Typeで型を宣言するのではなく、クラスを作成したら、質問者さんの望む事が可能かと思います。
いろいろやってみてたらよくわからないけど、
↓のようにすると望んだように動いてくれました。
If Not Not ユーザー定義型 Then
~処理~
End If
回答ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
VB6とVB.NETでNullの扱いが違う?
Visual Basic(VBA)
-
動的配列が存在(要素が有る)か否かを判定できますか?
Visual Basic(VBA)
-
VB6 配列を初期化したい
Visual Basic(VBA)
-
-
4
構造体をコレクションに入れて扱いたいのですが…
コレクション
-
5
コンパイルエラー:ユーザ定義型は定義されていません、と出るのですがどのライブラリファイルかわかりません。
Visual Basic(VBA)
-
6
配列を関数に渡す方法
Visual Basic(VBA)
-
7
構造体配列の特定のメンバーをFor~Eachで
Visual Basic(VBA)
-
8
Integer変数をカラにしたいのですが
Visual Basic(VBA)
-
9
VB6.0(SP6)にて開発を行なっています。参照設定に関して教えてく
IT・エンジニアリング
-
10
VB6のwinsockでconnectできない
Visual Basic(VBA)
-
11
VB6で、長い時間かかる処理実行中の表示の工夫について
Visual Basic(VBA)
-
12
VBの「As String * 128」とは?
Visual Basic(VBA)
-
13
VBのReturnの使い方
Visual Basic(VBA)
-
14
どこにもフォーカスを当てたくない
Access(アクセス)
-
15
VB6のメモリ解放に関して
Visual Basic(VBA)
-
16
DoEventsがやはり分からない
Visual Basic(VBA)
-
17
メモリ不足
Visual Basic(VBA)
-
18
構造体→文字列→構造体 をする方法
Visual Basic(VBA)
-
19
Form_Load と Form_Activate のタイミング
Visual Basic(VBA)
-
20
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでCOPYを繰り返すと、処理が...
-
vbsでのwebフォームへの入力制限?
-
【ExcelVBA】5万行以上のデー...
-
複数のExcelファイルをマージす...
-
Vba Array関数について教えてく...
-
【マクロ】シートの変数へ入れ...
-
【マクロ】並び替えの範囲が、...
-
Vba セルの4辺について罫線が有...
-
改行文字「vbCrLf」とは
-
【マクロ】開いているブックの...
-
エクセルのマクロについて教え...
-
エクセルの改行について
-
Excel VBA 選択範囲の罫線色の...
-
【マクロ】売上一覧YYYYMMDDHHS...
-
以下のプログラムの実行結果は...
-
【ExcelVBA】値を変更しながら...
-
Vba 型が一致しません(エラー1...
-
Excelのマクロについて教えてく...
-
vbaにてseleniumを使用したedge...
-
Excel 範囲指定スクショについ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エラー(型が一致しません。)...
-
LRESULTとHRESULT
-
VB6でユーザー定義型がNothing...
-
#define 文
-
TextChangeイベントが発生しない
-
関数の定義
-
キーコード ?と/が同じですが...
-
VBS 名前定義の確認→ありかなし...
-
Oracle9iでのサーバー移行時のp...
-
関数
-
複数関数からの戻り値returnの指定
-
無償BorlandC++5.5でAPI(SDK)...
-
ifdefとenum
-
時間差を取得結果を求めるには
-
sleepの時間の値に変数を!
-
即時関数で
-
アクティブなウィンドウのみ、...
-
If 条件式
-
VBA:イベントの準備を別のイベ...
-
PHP + MySQL で登録時に重複チ...
おすすめ情報