パソコン悪戦苦闘記録

Wordマクロで末尾2文字カットの編集をしよう:関数LeftとLenの使い方

 Word文書中の表に入った文字列を、VBAで取り出すには、

Dim myTxt As String
myTxt = ActiveDocument.Tables(1).Cell(1,1).Range.Text

とします。
 このマクロコードを実行すると、変数myTxtに、表の左上端に入っている文字列が格納されます。

 ただし、表の中から取り出した文字列には、後ろに余計な制御文字がくっ付いています。
 余計な制御文字とは、
 1 段落記号(改行文字)
 2 セルの区切りを表す制御文字
の2文字です。
 この2文字が邪魔になります。

 この点は、先日の記事で、詳しく説明しています。
  ぜひ こちらの記事をご覧ください。

 そこで、表の中から文字列を取り出した場合には、末尾の制御文字を削除する作業が必要になります。

 文字列から、後ろの2文字を削除するときのVBAコードは、
MsgBox Left(myTxt, Len(myTxt) - 2)
です。




 上記の Left も、Len も、文字列を操作するVBA関数です。

Left関数は、
  文字列の左から指定された文字数分の文字列を返します。
  構文は、Left(文字列、文字数) です。
Len関数は、
  指定した文字列の長さ(文字数)を返します。
  構文は、Len(文字列) です。

 上記のLeft とLen を組み合わせて、
  Left(myTxt, Len(myTxt) - 2)
とすれば、文字列の末尾2文字が削除され、その結果の文字列が返されます。




それでは、また次の記事で
goosyun
名前:
コメント:

※文字化け等の原因になりますので顔文字の投稿はお控えください。

コメント利用規約に同意の上コメント投稿を行ってください。

 

  • Xでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最近の「VBAプログラミング・マクロ」カテゴリーもっと見る

最近の記事
バックナンバー
人気記事