ファイルを指定するダイアログボックスは、よく見かけるかと思います。
一言でダイアログボックスといっても、色々あるので、今回はVB標準の
コントロールのみ利用してつくることにします。
まず、DriveListBox,DirListBox,FileListBox,Label コントロールを以下の
ように配置します。
このようなダイアログボックスはよく見かけると思いますが、VBでは、
簡単につくることができます。
このファイル指定ダイアログのポイントは、パスの連結にあります。パス、
というのは、ドライブ名,フォルダ名,¥マークの3つで成り立っている、
ファイルの位置を示す住所のようなもので、通常ファイルを指定するときは、
このパスも必要となります。(例えば、A:\Program Files\のように)
(コントロール同士のパスの連結)
ドライブを変更したとき下の階層のフォルダも変更されるように
コードを記述する必要があります。同様にフォルダが変更されたときファイル
リストも変更されるようにします。
Private Sub Drive1_Change()
'ドライブとフォルダのパスを連結させる
Dir1.Path = Drive1.Drive
End Sub
|
Drive1_Change()プロシージャ
Private Sub Dir1_Change()
'フォルダとファイルのパスを連結させる
File1.Path = Dir1.Path
End Sub
|
Dir1_Change()プロシージャ
これで、DriveListBox,DirListBoxをダブルクリックしたとき、それに従って
DirListBox,FileListBoxのリストも変更されるようになります。
次に、FileListBoxのファイルをユーザーがクリックしたとき、そのファイル
名(パスも含む)をLabelに表示させるコードを記述します。
Private Sub File1_Click()
Dim mfn As String 'ファイル名格納
Dim mfp As String 'ファイルパス格納
mfn = File1.filename
mfp = File1.Path
'パス名の最後に\がなければ付け足す
If Right$(mfp, 1) <> "\" Then mfp = mfp & "\"
'フルパスファイル名を表示する
Label1.Caption = mfp & mfn
End Sub
|
File1_Click()プロシージャ
このように、ユーザーがファイル名を指定して、それを得ることができる
ならば、何かのファイルを指定して実行してもらう場合には、とても便利な
ダイアログになると思います。
(Right関数)
文字列の右端から指定の数の文字を取り出します。
(基本形)
ret = Right(str,len)
ret : 指定の数の文字列
str : 文字列
len : 取り出す文字数
(使用例)
Dim msg as string,ret as string
msg = "使い方は簡単"
ret = Right(msg,2) '->これでret には、"簡単"が格納されます
$マークは、文字列であることを宣言しています。->型宣言文字列
(<>記号)
ここでは、等しくないことをいう。
= の逆
Standard Controlインデックス トップページ