VBA : パディングするコード

指定した文字数に満たない文字列の先頭を任意の文字で埋めるコードです。
Access で固定長のデータを作る必要があったので書きました。
ゼロパディングやスペースパディング等の処理に使えると思います。

'expression 必ず指定します。処理対象の文字列を指定します。
'padding 必ず指定します。expression の前方に詰め込む文字列を指定します。
'length 必ず指定します。文字数を指定します。
Function Pad(expression As String, padding As String, length As Long) As String
Dim replaceLength As Long
replaceLength = length - Len(expression)
Pad = String(replaceLength, padding) & expression
End Function

Published 火, 8 8 2006 14:32 by Ryosuke Uemoto
Filed under:

Comments

# re: VBA : パディングするコード

この例は、文字数単位の処理ですが、時々バイト数単位でやらないといけなかったりする場合が面倒なんですよね。
で、ちょっと shift JISの頃を懐かしがったりする訳ですw

2006年8月8日 19:14 by R・田中一郎

# re: VBA : パディングするコード

R・田中一郎さん、コメントありがとうございます。

>この例は、文字数単位の処理ですが、時々バイト数単位でやらないといけなかったりする場合が面倒なんですよね。

確かに。"PadB" みたいな名前でバイト数で処理する兄弟メソッドが必要かもしれません。

>で、ちょっと shift JISの頃を懐かしがったりする訳ですw
確かに確かに。
Shift_JIS の世界と Unicode の世界を行ったり来たりすると数え方がwww

2006年8月8日 22:16 by Ryosuke Uemoto