アプリ版:「スタンプのみでお礼する」機能のリリースについて

テキストから文字列を読み込んでそれをならびかえる処理を
したいのですが どうやったらよいか つまってしまいまして
質問させていただきました。

<テキストの内容>
あいうえお
さしすせそ
おおお
ききき
しし     (テキストにはひらがなが 入っています)

これを読み込んで50音順にしてあげたいのですが。
エクセルの並び替えだと あっというまにできてしまうじゃないですか
VBには おなじような機能はないのでしょうか?
配列?RECORDSET?
完全につまってしまいました
よろしくおねがいいたします

A 回答 (3件)

メモ帳を開き、例えば、あかし、うえだ、えのもと、おおた、かんだ、きのした、くろだ、こぐれ、さとう、いいだ、おおた」を縦に入力してください。

すなわち「あかし」を入力しエンタを押して改行し、「うえだ」と入力し、エンタを押すのを続けてください。そして「テスト1.txt」と「名前をつけて保存してください。VBEのコードの画面に
Private Sub Form_Click()
Dim d(100) As String
Open "c:\My Documents\テスト1.txt" For Input As #1
i = 0
'-----ファイルを読んで配列にセットする
p01:
If EOF(1) Then GoTo p02
Input #1, a
i = i + 1
d(i) = a
' MsgBox a
GoTo p01
p02:
Close #1
'-----ソート開始
For j = 1 To i - 1
For k = j To i
If d(j) > d(k) Then
w = d(j)
d(j) = d(k)
d(k) = w
End If
Next k
Next j
'------結果をForm1に表示して確認
For s = 1 To i
Form1.Print d(s)
Next s
End Sub
配列d(1)からd(i)を数直線的に置いて考えて,最小のものを一番
左の配列に持ってくるやり方です。視点を左から右へ1つづつ
ずらしていきます。これはモデル的な簡略化した一例であり、
本当はソートは面倒くさいプログラムになります。しかし沢山の
アルゴリズムがあり、わたし個人では、コンピュターのプログラム
のなかで一番面白い分野と思いました。ぜひ関心を持たれることを
お勧めします。この質問をみて、エクセルからコンピュターに入る
人にはソートは「既にあるもの」なのですが、昔はパソコンにはソート
のプログラムはついてなくて、我流でロータス123に読ませてソート
し、テキスト保存したり、下手なプログラムを組んだことを思い出します。
識者が見ればお恥ずかしいものですが、またコーディング
ミスのないことをいのりつつ。
    • good
    • 0

方法はいろいろあるのでしょうが.


リストボックスのSortedプロパティを使うのが
簡単だと思いますよ.
AddItemでテキストを格納.
リスト配列の添え字を0からListCount - 1 まで変えて
Listプロパティを使って読み出せばよいでしょう.
2バイト文字のソートに関するプロパティがあるかもしれませんので
プロパティは一通り見てください
VBは2年前にやったきりなので,このくらいで.
(後の回答によっては大恥かくかも..)
    • good
    • 0

データは「ひらがな」だけですか?



だったらリストボックスかコンボボックスにデータを放り込んで、
SortedプロパティをTrueにして件数分の取り出しループを作るのが簡単でしょう。

漢字を含む場合はこの方法は使えません(コード順にソートされてしまうから)
    • good
    • 0

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