- ベストアンサー
vbs 数字の間に記号を挟む
以下の文字列があるとします。 ABCDEFG12345 これを以下に変換したいです。 ABCDEFG1.2.3.4.5 プログラムのご教示頂きたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
参考に Option Explicit Dim strText, strNText, i, n1, n2 strText = "ABCDEFG12345" For i = 1 to Len(strText) n1 = Mid(strText, i, 1) n2 = Mid(strText, i + 1, 1) If IsNumeric(n1) and IsNumeric(n2) Then strNText = strNText & n1 & "." Else strNText = strNText & n1 End If Next MsgBox strNText
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
何が聞きたいのか? エクセルVBAならできるが、VBSではうまく行かなかったのか?やっていないのか? ーー Googleで調べれば、 こういうVBSの関数に関する記事がある。 https://www.kanaya440.com/contents/script/vbs/function/index_text.html Mid関数やIsnumeric関数が使える。 ーー または、ロジックが分からないのか。 文字列を1文字(Midを使って)ずつ見て行って、数字の始まり位置を知(Isnumericで判定)れば仕舞。ピリオドは「&」で(後)結合する。最後だけ ピリオドを付け加えない。 http://www.dicre.com/ols/vbs/body33.html 文字列の連結 前提は、数字の「かたまり」が、文字列の中で、2か所以上ないものとしてよいのかどうか。何でも、プログラムを組むということは、最後のような、当たり前としている風な、条件を注意し、意識することだ。
お礼
ありがとうございました。 うまくいきました。