• ベストアンサー

RSetとString関数の質問

String(3,255)という変換の結果は何ですか。 Dim MyString MyString = "0123456789" ' 文字列を初期化します。 Rset MyString = "Right->" ' MyString に " Right->" を格納します。 "0123"が空白になりますか。助けてください。お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.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)
回答No.1

> String(3,255)という変換の結果は何ですか。 『文字コード「255」の文字が3文字ある文字列』って言う答えでよいんでしょうか? > "0123"が空白になりますか。 「なりますか」という質問なら、答えは『なります』ですけど・・・ RSetはそういう機能なので。 #『元の文字列の一部を置き換える』ではなく、 #『元の文字列と同じ長さの右詰め文字列(左側スペース)を新規に作成する』ので。 元の文字列を置き換えるなら「Mid ステートメント」(Mid関数ではない)ですね。 ただし、置き換え開始位置は自分で計算しなければなりませんけど。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • mid関数とmidステートメントの違いを教えてくだ

    Sub test1() MsgBox Mid("abc", 2) End Sub は、mid関数ですか?midステートメントですか? ヘルプを見ると、 --------------------------------------------------------- Mid ステートメントの使用例 次の例は、Mid ステートメントを使って、 文字列変数の中にある指定した文字数分の文字を他の文字列に置き換えます。 Dim MyString, FirstWord, LastWord, MidWords MyString = "Mid Function Demo" ' 文字列を定義します。 FirstWord = Mid(MyString, 1, 3) ' "Mid" を返します。 LastWord = Mid(MyString, 14, 4) ' "Demo" を返します。 MidWords = Mid(MyString, 5) ' "Function Demo" を返します。 --------------------------------------------------------- も --------------------------------------------------------- Mid 関数の使用例 次の例は、Mid 関数を使って、 文字列の中から指定した文字数分の文字を返します。 Dim MyString, FirstWord, LastWord, MidWords MyString = "Mid Function Demo" ' 文字列を定義します。 FirstWord = Mid(MyString, 1, 3) ' "Mid" を返します。 LastWord = Mid(MyString, 14, 4) ' "Demo" を返します。 MidWords = Mid(MyString, 5) ' "Function Demo" を返します。 --------------------------------------------------------- も同じです。 mid関数とmidステートメントの違いを教えてください。 ご回答よろしくお願いします。

  • VBA 文字列に関して

    現在 A22のセルに入力された文字列をボタンを押せば ばらばらにしてA22のセルから順番に入れるマクロを作りました (例)A22のセルに ”こんにちわ”の文字列が入っている場合 ボタン押下   ↓ A22のセル⇒こ B22のセル⇒ん C22のセル⇒に D22のセル⇒ち E22のセル⇒わ になる。 不思議なことに数字を16文字以上いれてボタンを押し文字を分離すると入力していない文字、数字が入ってしまいます。 数字だけこういう現象が発生してしまいます。 例えば "1111111111111111"と入力して文字を分離した場合 1.11111111111111E+15と個々のセルに格納されます。 原因がわかる方、教えて頂けないでしょうか? 以下がコードです。宜しくお願い致します。 Private Sub CommandButton1_Click()   Dim one As String   Dim myString As String   myString = Cells(22, 1)   numString = Len(Cells(22, 1))   If Len(myString) <= 50 Then    For i = 1 To Len(Range("A22").Value)      one = String(1, myString)      Cells(22, i) = one      myString = Replace(myString, one, "", 1, 1, vbTextCompare)    Next i   End If End Sub

  • 文字列空白毎に区切りをstring型で格納

    現在FeliCaを使ったプログラムを作っているのですが、 FeliCaから読み込んだデータをstring型で格納したいのですが、 方法がわかりません。  例1「012 34567 89]    例2「01 2345678 9」   a=012           a=01   b=34567          b=2345678   c=89            c=9 というように空白で区切った文字列をsring型で格納したいのです。 なにか良い方法はないでしょうか? 環境はVisualStudio.NET2003です

  • Rset関数で中央揃えになるのはなぜでしょうか。

    1バイト及び2バイト文字の混合文字列をRset関数を使って右揃え使用としていますが、どうしても中央揃えになって困っています。 たとえば以下のように prstr="0000000000" Rset prstr="12小5ヨ6" この場合、コード実行中に prstrの値をチェックすると、間違いなく前方の文字列が足りない部分には空白が挿入されて右揃えになっているのですが、この prstr を印刷した時、必ず中央揃えで印刷されてしまいます。 これはRset関数の使い方を間違っているのでしょうか。 1バイト文字のみで実行すると、印刷しても右揃えになるので、いかがなものかと思っております。

  • VBA(Excel2003)で文字列の切り出し

    下のプロシージャーで全角半角混じりの文字列を切り出し、別の文字列で結合しようと思いますがうまくいく場合といかない場合があります。 イミディエイト・ウィンドウ上とCell上で動作が違います。 Cell上でうまく表示させるにはどうしたらいいでしょうか? Sub Test() Dim myString(2) As String Dim i As Integer myString(0) = "airueo" myString(1) = "かきくけこ" myString(2) = "さシすせそ" For i = 0 To 2 Debug.Print MidMbcs(myString(i), 1, 5) & "...テスト" Cells(i + 1, 1).Value = MidMbcs(myString(i), 1, 5) & "...テスト" Next i End Sub Function LenMbcs(ByVal str As String) LenMbcs = LenB(StrConv(str, vbFromUnicode)) End Function Function MidMbcs(ByVal str As String, start, length) MidMbcs = StrConv(MidB(StrConv(str, vbFromUnicode), start, length), vbUnicode) End Function

  • DateTimeを最初からString型にする方法

    DateTimeを最初からString型にする方法 こんにちは。C#のキャストについてお教え頂けませんでしょうか。 下記はファイルの作成日を取得し、それをstring型に変換しています。 FileInfo fi = new FileInfo(FILE); DateTime CreationTime = fi.CreationTime; string CreationTime2 = CreationTime.ToShortDateString(); DateTime型の変数に情報を格納した後に、String型の変数にキャストした情報を格納しています。 これでは二度手間なので、一度でできる方法はないでしょうか? 下記のコードは動きませんが、やりたいのは下記のようなことです。 String CreationTime = (string)fi.CreationTime; 最終的に何がしたいかというと ・データベースよりデータを取得しDataSetに格納 ・データセットの日付列の値を取得。日付列はvarchar型です。 ・日付列の値をstring型変数に格納 ・fi.CreationTimeで取得した日付とDataSetで取得した日付を比較 ・以上のような事をしたいと思っています。よってCreationTimeをString型に変換したいです 宜しくお願い致します!

  • Stringの文字列をString[]配列に変換したい

    お世話になります♪ たとえばこういうStringの文字列があるとします。 String s = "私は Javaを 勉強 しています。"; これを下記のようなイメージでString[]配列に変換したいのですが、 {"私は","Javaを","勉強","しています。"}; 何かいい方法はないでしょうか? ヒントをください! よろしくお願いします。

    • ベストアンサー
    • Java
  • InStrRev関数とLeft関数とRight関数の組み合わせについて教えてください。

    ワード2002で作成した技術文書について、 (1)(和文字+英数字)の文字列を任意に指定して、 (2)最初に文字数xを求め、 (3)次にInStrRev関数で英数字の1つ前の和文字について、文字列の初めからの数nを求める、 (4)Left関数で和文字を取り出す、(Msgboxに和文字を表示) (5)Right関数で英数字を取り出す、(Msgboxに英数字を表示) というマクロを作りたいのですが、 下記のマクロで足りないところを教えてください。 宜しくお願いします。 Private Sub YougoFugouBetunuki () Dim myText As String Dim x As Integer Dim Yougo As String Dim Fugou As String myText = Selection.Range.Text x = Selection.Characters.Count Fugou = "0-9A-Za-z’" n = InStrRev(myText, Fugou) Yougo = Left(myText, n) Fugou = Right(myText, x-n) End Sub

  • Java Stringに関して

       お世話になります。  SJC-Pの学習をしているのですが、Stringに関して、とある教科書に  以下のように記述されていましたが意味がわかりません。  わかりやすく教えていただけたらと思います。  教科書の文章(以下)   同じリテラル文字列に再び出会った場合、コンパイラは既にプール内  に格納されている文字列を使います。(3つ以上の参照変数が同じ  文字列を参照する可能性があるため、この処理はスレッドセーフ  ではない。)  上記文章の( ) で囲まれた部分の意味がまったくわかりません。  よろしくお願いします。

  • Stringとは一体何だ?

    Stringは型なのでしょうか?それともクラスなのでしょうか? Stringは参照型の型で、クラスを表す、つまり文字列を表す参照型の型であり文字列を表すクラスでしょうか?説明が悪くてごめんなさい。Java歴二週間です。

    • ベストアンサー
    • Java