- ベストアンサー
RSetとString関数の質問
String(3,255)という変換の結果は何ですか。 Dim MyString MyString = "0123456789" ' 文字列を初期化します。 Rset MyString = "Right->" ' MyString に " Right->" を格納します。 "0123"が空白になりますか。助けてください。お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
String(3,255)は 文字コードが255(16進で&HFF)の文字が3文字を返します。 ただし、文字コードが255には文字が割り当てられていないので表示は出来ない。 MyStringの空いた部分は空白(スペースで埋められます) 下記のプログラム(エクセルのマクロ)で確認。 Sub Macro2() Dim MyString ' 文字列を初期化します。 MyString = "0123456789" ' MyString に " Right->" を格納します RSet MyString = "Right->" ' 確認 MsgBox ("#" & MyString & "#") End Sub 何故ヘルプを見ないのですか?1分で解決するのに。 VBAのヘルプより抜粋。 String 関数 バリアント型 (内部処理形式 String の Variant) の値を返します。 指定した文字コード (ASCII またはシフト JIS コード) の示す文字、 または文字列の先頭文字を、指定した文字数だけ並べた文字列を返す文字列処理関数です。 構文 String(number, character) number: 必ず指定します。 長整数型 (Long) の値を指定します。文字をいくつ並べるのかを指定します。 名前付き引数 number に Null 値が含まれる場合は、Null 値を返します。 character: 必ず指定します。 バリアント型 (Variant) の値を指定します。文字の文字コード、または文字列式を指定します。 この文字列の先頭文字を number 回繰り返したものを返します。 名前付き引数 character に Null 値が含まれる場合は、Null 値を返します。 解説 名前付き引数 character に ASCII でもシフト JIS でもない無効な数値を指定すると、0 として処理されます。 -------------------------------------------------------------------------------- RSet ステートメント 文字列変数の値を右揃えにします。 構文 RSet stringvar = string stringvar: 必ず指定します。文字列変数の名前を指定します。 string: 必ず指定します。stringvar に右揃えで格納される文字列式を指定します。 解説 引数 stringvar が引数 string よりも短い場合、 RSet ステートメントは引数 stringvar の余った部分をスペースで埋め、 文字列の先頭にカーソル位置を戻します。 メモ RSet ステートメントでは、ユーザー定義型の変数を使用することはできません。
その他の回答 (1)
- dsuekichi
- ベストアンサー率64% (171/265)
> String(3,255)という変換の結果は何ですか。 『文字コード「255」の文字が3文字ある文字列』って言う答えでよいんでしょうか? > "0123"が空白になりますか。 「なりますか」という質問なら、答えは『なります』ですけど・・・ RSetはそういう機能なので。 #『元の文字列の一部を置き換える』ではなく、 #『元の文字列と同じ長さの右詰め文字列(左側スペース)を新規に作成する』ので。 元の文字列を置き換えるなら「Mid ステートメント」(Mid関数ではない)ですね。 ただし、置き換え開始位置は自分で計算しなければなりませんけど。