プロが教えるわが家の防犯対策術!

VB6で文字列間に値を入力したいです。
(例)
文字列「00112233445566778899」
この文字列で2文字毎に「+」と「=」を入力させて
文字列「00+11+22+33+44+55+66+77+88+99=」
というようにするにはどうすればいいでしょうか?

A 回答 (5件)

[イミディエイト]


00+11+22+33+44+55+66+77+88+99=

Private Sub Command1_Click()
  Dim I     As Integer
  Dim J     As Integer
  Dim K     As Integer
  Dim strSuji  As String
  Dim strSujis() As String
  
  strSuji = "00112233445566778899"
  J = Len(strSuji)
  ReDim strSujis(xxx) As String
  For I = 1 To J Step xxx
    strSujis(K) = Mid(strSuji, I, 2)
    K = K + 1
  Next I
  Debug.Print Left(Join(strSujis(), "+"), xxxxx) & "="
End Sub

こんな感じです。
    • good
    • 0
この回答へのお礼

ありがとうございました。
非常に参考になりました。

お礼日時:2007/12/02 21:52

補足:トリッキーではなくシンプルな書き方の一例。



[いミディエイト]
00+11+22+33+44+55+66+77+88+99=

Private Sub CommandButton1_Click()
  Dim S As String
  
  S = "00112233445566778899" & Space(9)
  Mid(S, 3 * 1) = "+" & Mid(S, 3 * 1)
  Mid(S, 3 * 2) = "+" & Mid(S, 3 * 2)
  Mid(S, 3 * 3) = "+" & Mid(S, 3 * 3)
  Mid(S, 3 * 4) = "+" & Mid(S, 3 * 4)
  Mid(S, 3 * 5) = "+" & Mid(S, 3 * 5)
  Mid(S, 3 * 6) = "+" & Mid(S, 3 * 6)
  Mid(S, 3 * 7) = "+" & Mid(S, 3 * 7)
  Mid(S, 3 * 8) = "+" & Mid(S, 3 * 8)
  Mid(S, 3 * 9) = "+" & Mid(S, 3 * 9)
  Debug.Print S & "="
End Sub

これを For 文にするのは任せます。
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2007/12/02 21:53

MID関数(左辺Midと右辺Midの2パターン)使って


Sub test01()
strsuji = "00112233445566778899"
s = String(9 * 3, "+") & " ="
' MsgBox s
For i = 1 To Len(strsuji) Step 2
Mid(s, ((i - 1) / 2) * 3 + 1, 2) = Mid(strsuji, i, 2)
Next i
MsgBox s
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2007/12/02 21:53

こんにちは。



この程度での文字なら、こんなローテクでもよいのでは?
こういうのに、書き方はいくらでもあるのでしょうけれども……。

Dim i As Integer
Dim buf As String
Const txt As String = "00112233445566778899"
For i = 1 To Len(txt) Step 2
  If buf = "" Then
   buf = Mid(txt, i, 2)
  Else
   buf = buf & "+" & Mid(txt, i, 2)
  End If
Next i
 buf = buf & "="
 Debug.Print buf
    • good
    • 0
この回答へのお礼

ありがとうございました。
参考になりました。

お礼日時:2007/12/02 21:52

mid関数使えば簡単かと


「VB 文字列操作」で検索してみてください
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!