変数を宣言した後に
その変数に記号のある文字を入れるのに苦戦をしています
つまり
Dim J
J = " "123"+"456" "
こう書くと当然エラーが出て代入できないのですが
この変数Jに直接「"123"+"456"」を入れるには
どうしたらいいのでしょうか
テキストボックスにこの文字を入れておいて
それをJに代入させる等は無しでお願いします
宜しくお願い致します。
文字列リテラル中に"を入れるには,""と書きます。
"123"+"456" のような定数が多い場合コード上の""""""に
目がチカチカしてわからなくなるので
sQ = Chr(&H22)
strTerget = sQ & "123" & sQ & "+" & sQ & "456" & sQ
のようにしています。
"123"+"456"
"234"+"567"
"345"+"678"
"456"+"789"
というような場合は
sQ = Chr(&H22)
sD = Chr(&H22) & "+" & Chr(&H22)
strTerget1 = sQ & "123" & sD & "456" & sQ
strTerget2 = sQ & "234" & sD & "567" & sQ
strTerget3 = sQ & "345" & sD & "678" & sQ
strTerget4 = sQ & "456" & sD & "789" & sQ
strTerget5 = sQ & "567" & sD & "890" & sQ
のように。
変数Jに直接「"123"+"456"」を入れるのと少し違いますが
Dim J
J = "'123'+'456'" 'まず " を ' で入力。
J = Replace(J, "'", """") 'その後 ' を " に変換。
とゆう方法もあります。
Dim J As String
J = """" + "123" + """" + "+" + """" + "456" + """"
↑案外簡単にできました(笑
> Dim J As String
> J = """" + "123" + """" + "+" + """" + "456" + """"
VB での文字列連結については、+ ではなく & の利用が推奨されるので、
J = """" & "123" & """" & "+" & """" & "456" & """"
とした方が良いかと思います。
また、「123」「+」「456」の部分が固定値であるなら、
J = """123""+""456"""
と続けて書くこともできますね。
> sQ = Chr(&H22)
> strTerget = sQ & "123" & sQ & "+" & sQ & "456" & sQ
前提知識が無いと、そもそも Chr(&H22) のマジックナンバーの意味がわからないだとか、
あるいは「S = """123"""」のような記述に慣れている、横に長くなってしまうなどの理由から、
上記のような連結記述を、かえって読み難いと感じる人も少なくないようです。
そしてその逆もまた然りで、さらに連続して「s = """"""""」などと書かれてしまうと、
可読性に劣るという事で、「""」を埋め込むのを嫌い、上記のような連結記述を
好む人もいますので、悩ましいところです。
複数人で開発するようなプロジェクトでは、記述方法を統一しておいた方が良いでしょうね。
> J = "'123'+'456'" 'まず " を ' で入力。
> J = Replace(J, "'", """") 'その後 ' を " に変換。
すべての状況下で利用できる方法ではありませんが、この記述法にすると、
コードの可読性を落とさずに済みますね。
ツイート | ![]() |