VB

ExcelUtil

VB

■使い方の例 Dim wrk As New ExcelUtils wrk.OpenBook("C:\Users\kagaw\Desktop\ken_all (3)\aaaa.xlsx") wrk.ChangeSheet("休日") Dim vals As Object(,) = wrk.GetValueList() Debug.Print(vals(1001, 1)) wrk.Dispose() ■事前準備 プロジェクト⇒property⇒…

AppConfig例

VB

<connectionStrings> <add name="AACollateralConnectionString" connectionString="Data Source=KAGAWA-A-PC\SQLEXPRESS;Initial Catalog=New_AACollateral;Persist Security Info=True;User ID=QrF073cwLu+aA5DB34y7Ug==;Password=CvdTA/EAq30VUo39VUHp0g==;" providerName="System.Data.SqlClient" /> </add></connectionstrings>

集約エラーハンドルを持つエントリポイント

VB

Imports System.Security.Cryptography.X509CertificatesImports Microsoft.VisualBasic.CompilerServices Module startUp ''' <summary> ''' UserContext ''' </summary> Public usContext As New UserContext <STAThread()> Sub Main() ' UIスレッドの集約例外ハンドラ AddHandler Applicat</stathread()>…

TUtils

VB

Imports System.Reflection Public Class TUtils(Of T As New) ''' <summary> ''' TClassの各Propertyにセットされた属性情報から、ファイル出力に関するパラメータを取得し ''' パラメータ値に応じて出力対象項目のフィルタリング、ヘッダ名の取得、出力項目の順序も</summary>…

DataUtils

VB

Imports System.Data.SqlClientImports System.Reflection Module DataUtils ''' <summary> ''' Statusのマスタ値をデータテーブルで取得 ''' </summary> ''' <param name="AddBlankRow">先頭にブランク行を追加する場合True</param> ''' <returns></returns> Public Function GetEnumStatus(ByVal Optional AddBlankRow As Boolean = …

インターフェース:ITAESSet

VB

Public Interface ITAESSet Property DecryptedText As String Property EncryptedText As String Property Key As String Property Iv As String Property Salt As String Property KeyCreatePassPharse As StringEnd Interface

SecurityUtil

VB

Imports System.IOImports System.Security.CryptographyPublic Class SecurityUtils '------------------------------------------------------------------------ '---AESについて '--------------------------------------------------------------------…

文字列長を正確に取得する

VB

■string.Lengthで文字列長を取得はできるが、一部の特殊な文字などは 正確に取得することができない。 ex) 𩸽:ほっけは一文字だが、Lengthなど2文字になってしまう。 正確に取得するには、StringInfoを使用する。 Dim si As New StringInfo(str) Return si.L…

ジェネリックなインターフェース

VB

■定義 Public Interface ITDList(Of T) Function DataLists() As List(Of T) End Interface ■使用例 Public Class TDUserInfo Inherits BaseDAO Implements ITDCount, ITDList(Of TUserInfo) Public Function DataLists() As List(Of TUserInfo) Implements …

NUll判定

VB

■Null(Nothing)でない場合に、そのオブジェクトに対して処理を行うといった場合の書き方 ・昔 If myObj Is Nothing Then ’Nothingじゃない場合の処理 myobj.test = "test" End If ・今 Null条件演算子を使って以下の様に簡潔に書ける myobj?.test = "test" m…

Visual Studioで検索時、Designer等を検索対象外にする。

VB

①Shift + Ctrl + Fで以下のウィンドを表示 ②ファイルの種類に、以下の文字列を入力 !*\bin\*;!*\obj\*;!*\.*;!*.Designer.vb;!*.resx;

Disposeの実装

VB

#Region "IDisposable Support" Private disposedValue As Boolean = False ' 重複する呼び出しを検出するには ' IDisposable Protected Overridable Sub Dispose(disposing As Boolean) If Not disposedValue Then If disposing Then ' TODO: マネージ状態…

匿名クラスを型指定する

VB

LINQでSelectする際等に匿名クラスを使用する。 その際、以下の様に指定すると戻り値は当然匿名型となる。 testList = list.Select(Function(x) New With {.GrantSum, x.UserGrant}) Newの後に型名()を指定すると、戻り値がその型となる。 testList = list.S…

関数の引数等にジェネリック型を指定する

VB

■関数等の引数にジェネリッククラスを指定する際の定義方法 ・例として以下のようなジェネリッククラスをメソッドの引数に指定する。 Public Class TData(Of T As New) End Sub ・定義方法 Function/Sub 関数名(ジェネリック)(関数の引数) ・例 Function Exp…

カスタム属性

VB

属性は、ClassやMethod、property等に、任意のパラメータを追加することができる。 追加した内容をリフレクションで読取、使用することが可能。 例えば以下は、TClassの各Propertyに、画面に表示する際の列名、Export時のヘッダ名、 また、出力の有無といっ…

DebuggerDisplay属性

VB

DebugDisplay属性を指定する事で、Debug時にウォッチで 当該クラスを見たときに、展開せずとも内容を表示することができる。 (例)<DebuggerDisplay("{UserId} {UserName} {UserPassword}")>Public Class TUserInfo Implements ITData ↓ウォッチ画面では、展開せずとも内容が表示される</debuggerdisplay("{userid}>

自フォーム内のメソッドをリフレクションで実行

VB

自フォーム内に定義しているメソッドへのリフレクションは、 MeのGetTypeを取得することで可能。 ただし、対象のメソッド名がPublicでないと、何故か取得できない。。 自フォーム内じゃなくてClassに定義しておけばようのでしょうが。 Dim typ As Type = Me.…

SQLParameterの値にNothing値をセットした場合、そのパラメータが無効になる

VB

ストアド呼出自、そのCommandParametersにNothingを渡した場合、 以下のエラーが発生する。 実行時に"プロシージャまたは関数 'XXX' にはパラメーター '@YYYYY' が必要ですが、指定されませんでした。 Nullをセットしたい場合は、ParameterにDBnull.Valueを…

XMLファイルのImport

VB

■XDocumentを使う 以下は、xml内の指定のNodeの値をListで取得する例 xDoc as XDocument = new XDocument.Load(importFilePath) xDoc.Elements("mappings").Elements("mapping"). Select(Function(x) x.Attribute("ColumnName").Value).ToList <以下のような…

クラス内の構造体に対するリフレクション

VB

tBase:構造体を持つクラス ’---フィルタ条件を作成 Dim flag As BindingFlags = BindingFlags.Public Or BindingFlags.Instance Or BindingFlags.Static Or BindingFlags.FlattenHierarchy '---構造体のインスタンスを生成(インスタンスからじゃないとフィ…

ComboboxがDropdownListの場合のSelectedText

SelectedTextは、どんなコントロールであれ選択されたテキスト部分が返される。 よって、DropdownListはテキストの部分選択ができない為、常に””が返される。 Comboboxの入力チェックは、SelectedValueやSelectedIndexなどで臨機応変に行う。 例えば、コンボ…

Genericな自作クラス

VB

■クラス名の直後に、型パラメータを指定する形で宣言 ・Public Class クラス名(Of 型パラメータ AS 制約) (ex) Public Class TestClass(Of T As New)

Genericな自作メソッド

VB

■メソッド名の直後に、型パラメータを停止する形で宣言 ・Sub/Function メソッド名(Of 型パラメータ)(引数) (ex) Sub TestMethod(Of T1, T2)(ByVal dic As Dictionary(Of T1, T2))

Resourceフォルダ内のファイルへのパス取得

VB

(*)exeと同フォルダにResourceファイルがある事を前提 ①exeのフォルダを取得:System.Windows.Forms.Application.StartupPath②①を絶対パス化:Path.GetFullPath(①)③②にResourceを結合:$"{②}\Resouce"

IsNullOrWhiteSpaceとIsNullOrEmptyの違い

VB

IsNullOrWhiteSpace:NULL、Empty、空白をTrue IsNullOrEmpty:NULL、EmptyをTrue ” ”:空白を許容するかどうか。

現在の日時を取得

VB

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")

ストアドに対応したTDClass

VB

Imports System.Data.SqlClientPublic Class TDInsUserInfo Inherits BaseDAO Private Const SP_NAME As String = "spInsertUserInfo" Private ReadOnly _tCls As TUserInfo Sub New(ByVal tCls As TUserInfo) MyBase.New _tCls = tCls End Sub Protected Ov…

TDClassに対応したストアド

VB

ALTER PROCEDURE [dbo].[spInsUserInfo] @UserId VARCHAR(10) ,@UserName NVARCHAR(255) ,@UserPassword VARCHAR(50) ,@UserGrant INT ,@UserStatus INT ,@CreateUserId VARCHAR(10) ,@CreateTimeStamp DATETIME ,@ErrorCode INT OUTPUT ,@ErrorText NVARCHA…

Null 許容のオブジェクトには値を指定しなければなりません

Null許容且つ値がNothingのオブジェクトに下記のような判定処理をした場合、 掲題のエラーとなる。 If Not String.IsNullOrEmpty(TestCreateTimeStamp) TestCreateTimeStamp.ToStringとすればOK。

仮想メゾッド、抽象メソッド、クラス

VB

■仮想メソッド ・実装を持つが、子クラスでOverride可能なメソッド。 Public Overridable Sub TestMethod() Console.WriteLine("仮想メソッド") End Sub Public Overridable Property TestProperty As String = "仮想property" ■抽象メソッド ・実装を持たな…