VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

リンク元へ戻ります。 文字列操作関係のメニュー
1.アラビア数字を漢数字に変換
2.VB6.0 からの文字列関数の使用例
3.半角カタカナだけを全角カタカナに変換
4.検索・置換をする
5. NullChar(Chr(0))文字以降を消去する
6.文字列を指定の幅にカット(漢字分断回避)
7.半角・全角文字の判定をする
8.文字列を(左・中央・右)揃え表示する
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.その他、当サイト内に掲載の文字列操作に関するサンプル


6.文字列を指定の幅にカット(漢字分断回避)
1.文字列を指定の幅にカット(漢字分断回避)
2.
3.
4. 
5. 
6. 

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6)
Option :[Option Explicit]
参照設定:
使用 API:
なし
その他 :
    :
このページのトップへ移動します。 1.文字列を指定の幅にカット(漢字分断回避)

Option Explicit     'SampleNo=269  2003.03.20

Private Function fStrCut(ByRef CutTxt As String, _
             ByVal CutLen As Long) As String
'半角・全角の混在する文字列を半角換算文字長で取り出し
  Dim myLen As Long, SysCodeTxt As String
  SysCodeTxt = StrConv(CutTxt, vbFromUnicode)   '文字列を変換
  myLen = LenB(SysCodeTxt)  '半角換算のバイト数を取得
  If myLen <= CutLen Then   '指定の長さより短い場合
    fStrCut = CutTxt & Space$(CutLen - myLen)  '足りない分はスペースで
  Else  '該当の文字列の方が長い場合、指定のバイトでカットする
    fStrCut = StrConv(LeftB$(SysCodeTxt, CutLen), vbUnicode)
    If InStr(fStrCut, vbNullChar) > 0 Then
      '漢字1バイト目で分断された場合の処理
      fStrCut = Left$(fStrCut, InStr(fStrCut, vbNullChar) - 1) & " "
    ElseIf InStr(fStrCut, Chr(-32443)) > 0 Then
      '漢字1バイト目で分断された場合の処理
      fStrCut = Left$(fStrCut, InStr(fStrCut, Chr(-32443)) - 1) & " "
    End If
  End If
End Function

Private Sub Command1_Click()
  Dim i As Long, L As Long, myText As String
  Text1.Text = ""   'text2=ABCあいう123亜井卯カキク
  For i = 1 To 16
    L = LenB(StrConv(fStrCut(Text2.Text, i), vbFromUnicode))
    myText = myText & L & vbTab & "[" & _
              fStrCut(Text2.Text, i) & "]" & vbCrLf
  Next i
  Text1.Text = myText
End Sub

  図1.上記実行結果
 string06_01.gif

このページのトップへ移動します。 2.


このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。