ファイル一覧を取得する ActiveX DLL です
機能
指定したパス直下のファイル名一覧、フォルダ名一覧を取得できます。
Scripting.FileSystemObject オブジェクトという便利なオブジェクトを使えば、VBScript,VisualBASIC などから簡単にファイル名一覧などが取得できるが、何行かのコードを書かなければいけないので、COM にしました(正確には、ActiveX DLL)。
動作環境
VisualBASIC6.0 SP6 のランタイムで十分でしょう。
使用方法
ダウンロードしたファイルを解凍しします。
(LHAは、吉崎栄泰氏が、著作権を所有)
"sFiles.DLL" を任意のディレクトリにコピーしてください。
コマンドプロンプト で、sFiles.DLL をコピーしたディレクトリで、"RegSvr32.exe sFiles.DLL" を実行し、レジストリに登録します。
または RegSvr.bat を sFiles.DLL と同一ディレクトリにコピーして、RegSvr.bat を実行してもレジストリに登録されます。
以上で、COM コンポーネントとしての、sFiles.DLL は登録が完了です。
COM アクセスが可能なものなら、sFiles.DLL のメソッドを使うことができます。なります。
例えば、VisualBasic Script 系の場合、
Dim obj
Dim ret
Set obj = CreateObject("sFiles.Class")
'(オブジェクトを取得)
ret = obj.GetFiles(パス,拡張子)
拡張子を指定しない場合、(つまり、"" という事) パスで指定したフォルダ直下の全てのファイル名一覧を戻す
パス部で指定したパスが存在しない場合、空文字列(つまり、"")が戻る
Set obj = Nothing
例えば、
ret = obj.GetFiles("c:\","ini" & VbCrLf & "sys")
だと、c:\ 直下の ini ファイルと sys ファイルを改行コードを区切り文字列として戻す
メソッド一覧
GetFiles(パス,拡張子)
GetFilesEx(パス,拡張子,"0","1")
GetFilesEx(パス,拡張子,ソートID,ソートタイプ)
指定したパス直下のファイル名一覧を戻す
パス
パスを絶対パス表記で指定する
最後の文字は「\」であってもなくてもよい。つまり「c:\temp」でも「c:\temp\」でもよい
ここで指定したフォルダが存在しない場合は、空文字列(つまり、"")が戻る。
拡張子
ファイル名一覧として戻すファイルの拡張子を指定する。
指定しない場合(つまり、"" と指定した)は、全てのファイルのファイル名を一覧にして戻す。
複数指定する場合は、改行コード(Cr+Lf)で区切って指定する。
戻り値
ファイル名一覧を改行コード(Cr+Lf)を区切り文字列として戻す
GetSubFolders(パス)
GetSubFoldersEx(パス,"0","1")
GetSubFoldersEx(パス,ソートID,ソートタイプ)
指定したパス直下のサブフォルダ名一覧を戻す
パス
パスを絶対パス表記で指定する
最後の文字は「\」であってもなくてもよい。つまり「c:\temp」でも「c:\temp\」でもよい
ここで指定したフォルダが存在しない場合は、空文字列(つまり、"")が戻る。
戻り値
サブフォルダ名一覧を改行コード(Cr+Lf)を区切り文字列として戻す
ソートID
0 : 名前順
1 : サイズ順
2 : ファイル作成順
3 : ファイルの最終アクセス順
4 : ファイルの最終更新順
ソートタイプ
MSFlexGrid コントロールの Sort プロパティを参照
0 : flexSortNone (なし。並べ替えは行われません)
1 : flexSortGenericAscending (一般的な昇順。テキストが文字列か数値かを判定して、昇順の並べ替えを実行します)
2 : flexSortGenericDescending (一般的な降順。テキストが文字列か数値かを判定して、降順の並べ替えを実行します)
3 : flexSortNumericAscending (数値の昇順。文字列を数値に変換して、昇順の並べ替えを実行します)
4 : flexSortNumericDescending (数値の降順。文字列を数値に変換して、降順の並べ替えを実行します)
5 : flexSortStringNoCaseAsending (文字列の昇順。大文字と小文字を区別しない文字列比較を使用して、昇順の並べ替えを実行します)
6 : flexSortNoCaseDescending (文字列の降順。大文字と小文字を区別しない文字列比較を使用して、降順の並べ替えを実行します)
7 : flexSortStringAscending (文字列の昇順。大文字と小文字を区別する文字列比較を使用して、昇順の並べ替えを実行します)
8 : flexSortStringDescending (文字列の降順。大文字と小文字を区別する文字列比較を使用して、降順の並べ替えを実行します)
9 : flexSortCustom (カスタム。Compare イベントを使用して、行を比較します)
通常は 1 か 2 を指定するだけでしょう
5 か 6 の方が、普通の感覚的な並べ替えをするかも〜
まぁ、9 を指定するとどうなるでしょうねぇ〜....
ソースの説明
省略
Scripting.FileSystemObject をそのまま使っているだけです。(ver1)
FileListBox,DirListBox と MSFlexGrid コントロールをそのまま使っているだけです。(ver2)
免責など
著作権はとりあえず保持します。
このソフトを使用したことによって生じた、
いかなる損害についても責任は持ちません。
ソースコードについても、各自の責任において、
自由にいじってくれてもいいです。
DownLoad
(sFiles.lzh as 16,721byte) (
sFiles.lzh.base64
)
最新バージョンは、sFiles.dll is 2.0.0.2
履歴
最初のバージョン(ver1.0.0.0)
(2002/03/31)
最初のバージョン(ver1.0.0.0)
著作権を保持するようにした
(2002/05/27)
最初のバージョン(ver1.0.0.0)
ReadMe の URL を修正した
(2003/03/23)
第二版(ver1.0.0.1)
DCOM 化と CLSID のバイナリ互換のチェックをつけて再コンパイルした
(2003/07/26)
第三版(ver2.0.0.0)
VB の DirListBox,FileListBox へ変更
MSFlexGrid を使ってソート機能を実装
(2004/01/12)
第三版2(ver2.0.0.1)
バグ修正
(2004/01/13)
第三版2(ver2.0.0.2)
内部 Form がオブジェクト変数ではなかったので、オブジェクト変数にした
(2007/11/03)
mail to active@window.goukaku.com