タイトル : Re: ファイルパスの機種依存文字を取得する方法について 投稿日 : 2014/11/28(Fri) 12:27 投稿者 : 魔界の仮面弁士
> ExcelのVBAの資格(APIなし最初の)を取得しています。 > VB5.0で、コモンダイアログで選択したファイルのパスに含まれる 開発言語は、下記の(1)ということで宜しいでしょうか。 (1) Visual Basic 5.0 (2) Visual Basic 6.0 (3) VBA5.0 (4) VBA6.0 (5) VBA6.1 (6) VBA7.0 (7) VBA7.1 (8) 上記以外 > 機種依存文字を取得する方法を考えています。 ここでいう「機種依存文字」とは、何を意味していますか? ウムラウト記号やハングルを含んだファイル名などは許容されますか? たとえば、「SPY++.EXE」というファイル名の場合、 現行の Windows 上では扱えますが、VB1 などからは扱えません。 また、同ファイルを Web 上に公開する場合、システムによっては + が空白文字と誤解されるケースがあります。 また、ファイル名として (a) ABC.txt (b) abc.txt (c) ABC.txt (d) abc.txt とあった場合、これらは NT 系(Windows 2000 や Windows 8 など)…… aとb、cとdを同一視する(aとcは区別される) 9x 系(Windows 95 や Windows ME など)…… aとbを同一視するが、cとdは区別される NTFS …… Unicode で管理される。a、b、c、d はそれぞれ別のファイル名となる FAT32…… 既定のコードページにて大文字で管理される。CP932では aとbが同一視され、cとdは別物。 となるはずです。 システムによって扱える文字は異なってきますので、実際のところ そう単純にはいかなかったりします。そのため、API などにおいても それらを判断するための関数は用意されておらず、実際のファイル操作時に 「処理が失敗したかどうか」で判定させることが多いようです。 |