コモンダイアログを表示すると、ファイルを選択できるようになり、
選択したファイル名をテキストボックスなどに貼り付けて、処理を
行うのですが、
前回選択したファイルの位置を覚えておいて、(イニシャルファイルなどで)
次にダイアログボックスを開くと、デフォルトでまずそのファイルパスの位置
のファイルが表示されるようにってできないんでしょうか??
できます。何か問題でもありますか?
分からない部分をもっと詳しく書きましょう。
VB.NET
OpenFileDialog1で(ダイアログボックス)
InitialDirectory=”AAAAAA"が使えますよ
但し、自己の処理で前回をTextFileに記憶して
一旦、処理を止めても記憶することは必須。(MempriedPass)
Public function FilePassAndName() As String
MempriedPassを不揮発性記憶装置から取り出す処理(Textファイルからの読み込み)
with OpenDialogue1
.CheckFileExist=True/False
.restoerDirctory=True/False
.
.Filter="全てのファイル(*.*)|*.*|テキストファイル(*.txt)|*.txt"
.Filterindex=1
.InitialDirectory=MemoryedPass
if .ShowDialog~DialogResuli.OK
FilePassAndName=.FileName
(ディレクトリだけ取り出し、不揮発性メモリーに記憶(Txtファイルへの記憶)
exit Function
end if
end With
end function
すみません。
VBは6を使用してます。
ボタンをクリック後、ファイル選択ダイアログBOXを開きます。
ファイルを選択して、OKボタンを押すと、選択したファイルパスが
テキストボックスへ表示される設定をしてます。
その後、テキストボックス内で表示されたパスを自由に変更できます。
変更後、「適用」ボタンを押すことによって、現在テキストボックスに表示されている
ファイルパスを次回ダイアログボックスを表示させたときのデフォルト位置にしたいのです。
何も設定せずに再びダイアログボタンを押すと、1階目に選んだ場所のファイルパス位置が表示されています。
この設定を任意のパス位置に設定したいんです、
ヘルプを調べても、他のサイトなどいろいろみてみたのですがmよくわかりませんでした。
お願いします、
ダイアログのInitDirで可能です。
ダイアログを表示する前に、
CommDlg1.InitDir = ”デフォルトで表示したいパス”
で任意のパス位置が表示されると思います。
やまとさんありがとうございます。
ちゃんと設定したパス位置で表示されました!!!
便乗でもう1つ質問があるのですが、
ファイル選択ダイアログボックスで、ファイルを選択するんですが、
そのときに選択した「ファイル名」のみを取得することってできますでしょうか?
.filenameでフルパスは撮ってこれるんですが、パスは全くなしの、
ファイル名のみを取得してみたいのです、
よろしくお願いします。
最後の \ マークより後ろの文字列を取得するだけでは?
Mid(.filename, InStrRev(.filename, "\") + 1)
こんな感じ。
ファイル名の取得ですが、方法はいろいろあると思います。
とろさんの方法以外で私がよく行う方法は、
Dim strArrData() As String
strArrData = Split(.filename, "\")
strArrData(UBound(strArrData))
"\"でファイル名を分割して、分割された最後の文字列をファイル名
としています。
一般的にダイアログではファイルを開くとして、ファイルを指定しますが、
ディレクトリを同じ形式で取得できる方法はありませんか?
>元質問者殿
FileNameではなく、FileTitleでOK。
パスを含まないファイル名が取得できます。
>佐藤殿
亀レス?
「フォルダ選択ダイアログ」、「VB」
をキーワードに検索すればいくらでもサンプルが見つかるでしょうに。。。
↓こんなのとか
http://www.bekkoame.ne.jp/~ilgg/VBMain/VB/Dialog/BrowseFolder.html
ツイート | ![]() |