プログラマ来てください

1 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:46:26.739 ID:MCdtZZmb0
VBAでWindowsのファイル表示みたいな順にならべかえる方法ある?
123abcあいう亜以宇…って感じ
2 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:48:09.084 ID:vRZdJM9v0
エクセルにフィルタという物があってだな
5 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:52:21.179 ID:MCdtZZmb0
>>2
できればアルゴリズム的に並べ替えたい

>>3,4
教えて!

3 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:48:22.807 ID:JwtFm8SE0
あるよ
4 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:48:32.017 ID:ymE87NLop
あるよ!
6 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:54:04.767 ID:MCdtZZmb0
アプリとかソフト開発してても辞書順に表示する場面はよくありそうだけど他の言語だとどうしてるの?
8 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:01:53.902 ID:XskNt+Q90
>>6
ソートぐらい組込APIにある
7 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 22:57:58.979 ID:fE3ExXlX0
クイックソート
9 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:02:30.548 ID:MCdtZZmb0
並べ替えアルゴリズムは好きなの使ったらいいけど問題は比較部分のアルゴリズムなんよ
「あ」と「亜」の大小を上手く定める方法が分からない
12 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:12:03.182 ID:XskNt+Q90
>>9
UTF8の文字コード調べればいいだけでは
10 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:04:59.881 ID:yFuqmOTAr
文字コード取得する機能無いの
11 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:11:40.951 ID:MCdtZZmb0
StrCompって関数はあるけど123abcみたいにはならないかった

あとググるとStrCmpLogicalWってAPI使う方法出るけどこれも万能の解決策ではなかった

23 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:26:38.917 ID:5hrWF49g0
>>11
>StrCmpLogicalWってAPI使う方法出るけど
>これも万能の解決策ではなかった
「万能の解決策ではない」と判断した理由は何?
14 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:14:55.546 ID:nVJ/C9IW0
Str = " COMMAND.COM /C Dir C:\*.mdb /s/b > C:\aaa.txt "
tempID = Shell(Str, vbNormalFocus)
15 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:14:59.530 ID:MCdtZZmb0
おお!
utf8 は123abcあいう亜以宇って並びに登録されてるの?
18 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:18:42.389 ID:MCdtZZmb0
>>15この順
24 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:27:03.023 ID:XskNt+Q90
>>15
知らんけどロジックは自分で調べて書いてよ
16 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:16:58.542 ID:E8kFAN5F0
お前はどういう順に並べたいんだよ
19 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:19:52.958 ID:nVJ/C9IW0
>>16
Windowsエクスプローラーのファイル並び順って1に書いてる
17 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:17:51.080 ID:MCdtZZmb0
コマンドプロンプト書けない…
勉強してみる
20 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:25:04.902 ID:MCdtZZmb0
こういうのもいわゆる自然順に入るのかな
取り込んだ順だとあいうアイウってなるけど
エクスプローラとかだとあアいイうウってなるよね
Windowsが使ってるAPI流用すれば解決するかと思ったけど上手くいかなくて
22 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:26:33.221 ID:MCdtZZmb0
ってことはふと思ったけどutf8の順をそのまま使ってもダメなのか
25 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:31:14.197 ID:ff9sib290
エクスプローラーが漢字も読み方でソートしてる事自体初めて知ったわ
そもそもなんでそんな処理が必要なんだ
26 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:31:34.875 ID:HVfZCkKp0
以下引用
さらに「sorting – Natural Sort Order in C# – Stack Overflow」にある書き込みによると、StrCmpLogicalWは推移的ではない(つまり、例えば文字列 a, b, c があって、a < b、 b < c なのに、a > c になることがある)ため、これを使って並べ替えを行うと無限ループになることがあるということです。

ここまで引用

これ大丈夫かよw

27 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:35:33.001 ID:eo2ecSOm0
文字コードをバブルソート
28 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:35:36.961 ID:8rxbZ23f0
ダミーのフォルダとファイル作って実際に並び替えてパスのコピーで取得
31 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:40:20.872 ID:5hrWF49g0
エクスプローラーの文字列比較の仕様はどうなってんのやろ?
32 名前:ひみつの名無しさん 投稿日時:2021/02/03(水) 23:43:39.005 ID:IJJi6ymHM
VBAか
行列の中に放り込むところまでは思いついたが、次はどうするべきか悩んで答えが出なかったのでみんなの回答を見に来た

コメント

タイトルとURLをコピーしました