VB2022初期設定
- COMの参照追加
ソリューションエクスプローラー内で、プロジェクトを右クリック⇒追加⇒COM参照
- exeファイルとDLLファイルをひとまとめにする方法
1.「プロジェクト」から「NuGet パッケージの管理」をく 2.Fody.Costura」を検索してインストール。「Fody」も一緒にインストールされる 3.vbprojファイルを開く 4.<Reference Include="mscorlib" />を追記 <Reference Include="System" />の直前 5.テキストエディタで開いて編集した
- 実行時間がかかる場合に例外処理から外す
.NET アプリケーションをデバッグ実行中に時間がかかる処理があり、以下のエラーが発生しました。 =============================================================== ContextSwitchDeadlock が検出されました。 Message: CLR は、COM コンテキスト 0x1af66748 から COM コンテキスト 0x1af66870 へ 60 秒で移行できませんでした。ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、CoWaitForMultipleHandles のようなポンプする待機プリミティブを使用するか、長い実行操作中に定期的にメッセージをポンプしなければなりません。 ===============================================================
デバック⇒ウィンドウ⇒例外設定⇒「Managed Debugging Assistants」を展開し、「ContextSwitchDeadlock」の項目のチェックを外す。
フォルダ設定
- フォルダ作成すると読み取り専用になる(Win10以降、顕著に発生する現象)参考
'フォルダーが読み取り専用になるとファイルの属性も読み取りになることもあるため '下記のコードを追加する。 Dim nowatrbt As FileAttribute '現在の属性 Dim nwattrbts As FileAttribute '新しい属性 nowatrbt = IO.File.GetAttributes("C:\test\testfile.txt") '現在の属性を取得 nwattrbts = nowatrbt And (Not FileAttribute.ReadOnly) '読み取り専用属性の解除 IO.File.SetAttributes("C:\test\testfile.txt", nwattrbts) '新しい属性をセット
DataGridView
- CSVファイルをDataGrdiViewに取り込む
CSV→DataTable→DataGridView参考
Private Sub ConvertCsvToDatatable_01(Fn As String) If IO.File.Exists(Fn) = False Then MessageBox.Show("存在しません!") Exit Sub End If 'テーブルの列を定義 Dim columns As DataColumn() = { New DataColumn("検索文字", System.Type.GetType("System.String")), New DataColumn("ファイル名", System.Type.GetType("System.String")), New DataColumn("検索日時1", System.Type.GetType("System.String")), New DataColumn("検索日時2", System.Type.GetType("System.String")) } 'テーブルに列を追加 Dim Dt1 As DataTable = New DataTable Dt1.Columns.AddRange(columns) Dim Rx As String Dim Sr As New IO.StreamReader(Fn, System.Text.Encoding.Default) Rx = Sr.ReadLine Do While Not Rx Is Nothing Dim Ar1 As String() = Rx.Split(",") If Ar1.Length >= 3 Then Dim Row1 As DataRow = Dt1.NewRow Row1("検索文字") = Ar1(0) Row1("ファイル名") = Ar1(1) Row1("検索日時1") = Ar1(2) Row1("検索日時2") = Ar1(3) Dt1.Rows.Add(Row1) End If Rx = Sr.ReadLine Loop Me.DataGridView1.DataSource = Dt1 'ヘッダーとすべてのセルの内容に合わせて、列の幅を自動調整する DataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End Sub
VB2022アドイン設定
- OracleクライアントをインストールしないでOralceに接続する方法
Oracle2022
エラー対応
- 「オブジェクト参照が必要です」エラーが出たときは?
対策例
'Dim result2 = OriginalClass.Add(1, 2) ' ←この行はコンパイルエラー ' BC30469 非共有メンバーを参照するには、オブジェクト参照が必要です。 ' ↓オブジェクトを作り、そのオブジェクトに対して呼び出せばよい Dim objectOfOriginalClass = New OriginalClass() Dim result2a = objectOfOriginalClass.Add(1, 2)
サイト内リンク
Office系
DB系
開発
OS系