#537 | 文字列の後続のTabコードを除去する方法 | VBA | |
ExcelなどからCSVファイルに吐き出したデータを扱う場合、Excelのワークシートの作りによっては、各行の後ろ(ワークシートの右端)に余分なTabコードが付いてしまうことがあります。 ワークシートの右端に何らかのデータを一度入力したあと、それを単にクリアしただけの場合、画面上の見た目には空欄なのですが、内部的に空の文字列が残っていることがあります。そのような場合、Tabだけが付いた状態でCSVファイルに出力されてしまいます。 その対策として、Excel上の操作でそれらの”列を削除”することで解決できることもありますが、たとえ余分なTabが付いていたとしても、Access側のVBAでうまく処理させたいような場合に使えるFunctionプロシージャの例を紹介します。 次のプロシージャでは、引数として与えられた文字列の後ろからTabコードを除去し、その結果の文字列を返します。 たとえば、CSVファイルから1件のレコードを読み込み、その文字列全体をこのプロシージャに掛け、そのあとSplit関数などでTabコードで区切ることによって、必要な分だけの列のデータを取り出すことができます。 Private Function CleanTab(strData As String) As String '引数の文字列の後ろのTabコードを除去した文字列を返す Dim strRet As String Dim iintLoop As Integer strRet = strData For iintLoop = 1 To Len(strData) If Right$(strRet, 1) = vbTab Then strRet = Left$(strRet, Len(strRet) - 1) Else Exit For End If Next iintLoop CleanTab = strRet End Function |
|||
|
Copyright © T'sWare All rights reserved |