VB.NET でふりがな機能を実装する

  • POST
経緯 最近、周りで VB.NET を使っている人が複数人出てきた恐らく2020年にWindows7 サポート終了となるため VB6 => VB.NET へのコンバージョンの案件が増えていると思われる そのため、以前行った際に苦労したふりがな機能について備忘録として残しておくことにする 実際のコード ふりがな取得機能の実装クラス 以下のふりがなに対応(半角および全角英数はそのまま取得) ひらがな 全角カナ 半角カナ Option Strict Off Option Explicit On Imports System.Runtime.InteropServices Delegate Function fncDelegate(ByVal hWnd As Integer, ByVal uMsg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer ''' <summary> ''' 変換イベントクラス ''' </summary> Public Class ConvertedEventArgs Inherits EventArgs ''' <summary> ''' 変換イベントクラスのコンストラクタ ''' </summary> ''' <param name="f">ふりがな文字列</param> ''' <param name="r">変換後文字列</param> Public Sub New(ByVal f As String, ByVal r As String) Furigana = f Result = r End Sub Public ReadOnly Property Furigana() As String Public ReadOnly Property Result() As String End Class ''' <summary> ''' 自動ふりがな取得クラス ''' </summary> Public Class Imecomp Private m_TxtSrcControl As Control Private m_TxtDestControl As Control Private WithEvents M_MsgListner As MsgListner Private ReadOnly m_StrConvMode As Integer ''' <summary> ''' ふりがな取得完了通知イベント ''' ''' ふりがな取得が完了したことを通知する ''' </summary> ''' <param name="txtSrc">ふりがな取得対象テキストボックス</param> ''' <param name="txtDest">ふりがな出力対象テキストボックス</param> ''' <param name="e">変換イベントクラス</param> Public Event Converted(ByVal txtSrc As System.

Windows 環境でバッチファイルからiniファイルを読込んで値を取得する

  • POST
対応方法 バッチファイルから ini ファイルを読込む場合 VBS を使用することで実現する 具体的には、バッチファイルから VBS を呼び出して ini ファイルより値を取得して VBS から戻り値を受け取り、実現する 取得する ini ファイルの中身 <設定値>*****************************************************'<コメント>####################################### [Path] WorkPath=C:/src/wk 'Work Folder Path 実際のコード @echo off set iniFileName=sample.ini for /f "usebackq tokens=* delims=" %%A in (`call cscript //Nologo getProfileString.vbs "%iniFileName%" Path WorkPath`) do set ret=%%A echo "%ret%" pause exit Option Explicit rem /***************************************************************** rem * getProfileString.vbs iniFileName, sectionName, entryName rem * rem * 引数 rem * iniFileName : 設定ファイル名(フルパス) rem * sectionName : セクション名 rem * entryName : エントリー名 rem * 動作 rem * 引数に指定された設定ファイルより指定した rem * 「セクション」,「エントリー」に対応する設定値を返す rem * 先頭がカンマの場合はコメント行として扱う rem * 行の途中でカンマがある場合は直前までの文字列(右空白除去)を rem * 設定値として扱う rem * 戻り値 rem * 設定値(見つからなかった場合およびエラーの場合は空を返す) rem *****************************************************************/ Dim ret Dim fs Dim readLineObj Dim searchFlg Dim buffer rem ファイルシステムアクセス用 Set fs = CreateObject( "Scripting.