VB初心者です。色々調べてみたのですが分からなくて、ヒントでも結構ですので教えていただけないでしょうか。
現在VB.Net2003 からVB2005に移行しているのですが下記の関数で現在開いているフォームを調べていますがVB.Net2003だとなんら問題なかったのにVB2005では「関数 'FormIsLord_Tag' は、すべてのコード パス上では値を返しません。結果が使用されるときに、null 参照の例外が実行時に発生する可能性があります。」という警告が出てしまいます
Function FormIsLord_Tag(ByVal GetTag As String) As Form
Dim LoopForm As Form
Try
For Each LoopForm In Forms
If LoopForm.Tag = GetTag Then
Return LoopForm
End If
Next
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Function
If LoopForm.Tag = GetTag Then とかの前にLoopFormがNothingだったらとか色々やってみましたがわからなくて・・・
警告なので動かないって訳ではないのですが・・・
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
お世話になります。
ロジックの内容をアタマの中で
フローチャート化してみると、
明示的に値を返していないパスがあるはずです。
「意識していないかもしれませんが、
このような可能性がありますよ」という警告だと思います。
Nothing を返すことを意識しているのであれば
明示的に書いてやると、この警告は消えます。
End Try
の後に、
Return Nothing
と書くと、
Forms が空っぽでも、
例外処理の Cacth ブロックに入ったときでも、
For Each ループ内で tag が該当しなくても
Nothing が明示的に返されます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Excel(エクセル) エクセルVBAでオブジェクトが必要です 2 2022/09/10 16:37
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) EXCEL VBAにて動的にCheckBOXを複数作成し、同BOXにイベントを追加したい 1 2023/03/16 07:05
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセルで書式設定とフィルタの組み合わせでうまく行かないのですが 4 2022/10/07 10:02
このQ&Aを見た人はこんなQ&Aも見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
値を返さないコード パス
Visual Basic(VBA)
-
String"から型'Double'への変換は無効です。 とエラーが出ます。
Visual Basic(VBA)
-
FORMが開いているかどうかの確認方法
Visual Basic(VBA)
-
-
4
テキストボックスの中身をリセット(クリア)したい
Visual Basic(VBA)
-
5
VB.NETでフォーム上にExcelのような表を表示する方法
Visual Basic(VBA)
-
6
VB.NETでファイル名順にファイルを読む方法
Visual Basic(VBA)
-
7
VB.net 任意の例外を発生させるには・・・
Visual Basic(VBA)
-
8
VB.NETでコンボボックスの1行目を空白にしたい
Visual Basic(VBA)
-
9
CloseとDisposeの違い
Visual Basic(VBA)
-
10
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
11
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
12
VBのReturnの使い方
Visual Basic(VBA)
-
13
VS 2008(VB.NET)
Visual Basic(VBA)
-
14
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
null 参照の例外が実行時に発生...
-
UWSCの終了の仕方
-
乱数の桁数指定、または範囲指定。
-
Escキーを押すと、中断する時と...
-
VBAで3秒だけ時間を止めたい
-
VBA for i=1 to lastrow
-
モンテカルロ法
-
UWSCに制限時間を付けたいです
-
エクセルの当番表を作っていま...
-
DoEventsが必要な理由について
-
vb.netからエクセル関数書き込み
-
VB2010でCSVファイルの読み込み
-
vbscriptでIE自動入力(途中で...
-
ループフリー
-
ダイアログのテキストにマウス...
-
ボタンが押された時にループか...
-
「偶数・奇数の和」のフローチ...
-
xmplayの使い方
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
UWSCの終了の仕方
-
DoEventsが必要な理由について
-
VBAで3秒だけ時間を止めたい
-
範囲指定したセルを1つずつ飛...
-
Escキーを押すと、中断する時と...
-
DOSコマンドのループ内のTIMEコ...
-
vbscriptでIE自動入力(途中で...
-
乱数の桁数指定、または範囲指定。
-
GIFアニメをループさせたくない
-
プログラミングについて。 1つ...
-
エクセルの当番表を作っていま...
-
テキストボックスの名前に変数...
-
ループフリー
-
vb.netからエクセル関数書き込み
-
CSVファイルの特定の行だけを読...
-
VBA for i=1 to lastrow
-
どなたかこのプログラミングを...
-
Do whileでExitせず、ループの...
おすすめ情報