|
▼fff さん:
こんばんは。
>マクロを用いて、半角の大文字があれば、その前にアンダーバーを入れ
>すべて大文字にしたいのですがどうすればよいですか?
>誰か教えてください
>例 aaBfffDhhhhUmm
>
>マクロ実行
> AA_BFFF_DHHHH_UMM
>このようにしたいのですが、よろしくお願いします
一番目の文字が大文字だった場合も"_"をつけても良いのですか?
下の例は、付けてしまう例ですが、違うのなら、idxをチェックして処理すれば
良いとは思いますが・・・。
'======================================================
Sub test()
MsgBox cnv_sp("aaBfffDhhhhUmm")
End Sub
'=============================================================
Function cnv_sp(mystr As String) As String
cnv_sp = ""
idx = 1
Do While idx <= Len(mystr)
If Mid(mystr, idx, 1) Like "[A-Z,a-z]" Then
If Mid(mystr, idx, 1) = UCase(Mid(mystr, idx, 1)) Then
cnv_sp = cnv_sp & "_"
End If
cnv_sp = cnv_sp & UCase(Mid(mystr, idx, 1))
End If
idx = idx + 1
Loop
End Function
確認してみて下さい。
|
|