MultiLine=TrueのテキストボックスText1を置いて
Private Sub Text1_Change()
Debug.Print (LenB(StrConv(Text1.Text, vbFromUnicode)) - _
(Len(Text1.Text) - Len(Replace(Text1.Text, vbCrLf, ""))))
End Sub
と記述したのですがこれで得られるのは改行を抜いたANSI換算での文字数ですよね?

ちなみにlstrlenってAPI使えば全角2バイト、半角1バイトでの文字数を返せるのがわかりま
した。

>スクロールバーさえ付けなければ楽なんだけど。
横スクロールバーは付けなくていいので見かけ上折り返すことはできるんですよ。
ただ、物理改行ができないので・・・

>フォントを固定幅にして、テキストボックスのサイズを桁数に合わせ、物理改行させてし
まう案はどう?
これですが、テキストボックスのサイズを桁数に合わせて物理改行するやり方がよく分かり
ません。
フォントを固定幅にするのはOKです。

本当に申し訳ありませんがもう少しヒントをお願いします・・・

>865
Printを使ってテキストを自前で描画するラベルコントロールもどきをユーザコントロールで
作ってみるのはどうでしょう。
UserControl.CurrentYを外部から設定可能できるようにして。