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も見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
値を返さないコード パス
Visual Basic(VBA)
-
文字列の後ろから必要分だけ削除したい。
Visual Basic(VBA)
-
VB.NETで DataRow()を利用して、値からコードを取得したい。
Visual Basic(VBA)
-
-
4
VB6.0の「vbFromUnicode」はVB.NETではどれに相当しますか?
Visual Basic(VBA)
-
5
VB.NETでファイル名順にファイルを読む方法
Visual Basic(VBA)
-
6
VBの基本的な質問ですが・・・
Visual Basic(VBA)
-
7
CloseとDisposeの違い
Visual Basic(VBA)
-
8
VS 2008(VB.NET)
Visual Basic(VBA)
-
9
VBのReturnの使い方
Visual Basic(VBA)
-
10
asp.NET初心者です。「 ’Context’は’○○○’のメンバで
Microsoft ASP
-
11
すでにファイルが開かれている時のエラー回避
Visual Basic(VBA)
-
12
VB.NETで小数点以下の桁数を取得したい
その他(ソフトウェア)
-
13
配列の重複する値とその個数を取得したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAで3秒だけ時間を止めたい
-
vba
-
Escキーを押すと、中断する時と...
-
DoEventsが必要な理由について
-
ということですか 他に固定りよ...
-
DOSコマンドのループ内のTIMEコ...
-
Application.OnTime の使い方
-
Visual BasicのUserFormが閉じ...
-
流れ図(フローチャート)が分か...
-
ListBox 複数選択 で オートフ...
-
エクセル関数で1〜12の数字がル...
-
どなたかこのプログラミングを...
-
イベントの発生を待つ
-
ループ内での条件処理
-
プログラムはif文とforループが...
-
VB6 ListIndexのコピー
-
VB.NETで素因数分解のプログラ...
-
「偶数・奇数の和」のフローチ...
-
ループフリー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
画面を強制的に再描画させる方法
-
VBAでの一時停止と再開の方法
-
ループ7回目の悪役令嬢は、元敵...
-
UWSCの終了の仕方
-
Escキーを押すと、中断する時と...
-
エクセルの当番表を作っていま...
-
GIFアニメをループさせたくない
-
VBAで3秒だけ時間を止めたい
-
どなたかこのプログラミングを...
-
VBA for i=1 to lastrow
-
DOSコマンドのループ内のTIMEコ...
-
ListBox 複数選択 で オートフ...
-
vbscriptでIE自動入力(途中で...
-
vb.netからエクセル関数書き込み
-
DoEventsが必要な理由について
-
Java 南京錠
-
アクティブセルから、A列最終行...
-
テキストボックスの名前に変数...
-
範囲指定したセルを1つずつ飛...
-
VBA Dir関数でファイルをループ...
おすすめ情報