ありがとうございます。教えていただいた関数を参考に考えていますが、
行き詰っています。
今回文章を何個かに分割したいので、midで作って繰り返しさせたいと思っていますがうまくいきません・・・
どこが間違っているのでしょうか。
(とりあえず汎用関数の部分のみ↓)
Public Function MidAnsiB(S As String, M As Long, L As Long) As String
Dim res As String, T As Long
If S = "" Then Exit Function '元テキストが空なら終了
If LenAnsiB(S) <= L Then '元テキストが任意の数以下ならそのまま出力して終了
MidAnsiB = S
Exit Function
End If
res = StrConv(MidB$(StrConv(S, vbFromUnicode), M, L), vbUnicode) 'コードを変えて文字数揃えてユニコードに戻す
res = Mid$(S, M, Len(res))
If LenAnsiB(res) > L Then
res = Mid$(S, M, Len(res) - 1)
End If
'サロゲートペア文字対策
Select Case AscW(Right$(res, 1))
Case &HD800 To &HDBFF
res = Left$(res, Len(res) - 1)
End Select
MidAnsiB = res
End Function
通報 ...
反映させる部分↓