• 締切済み

フォルダ名称の取得の仕方

コモンダイアログコントロールを使用してフォルダ名称のみを取得する方法を教えてください(WORDなどで規定のフォルダを指定するときのような機能です)。 よろしくお願いします。

みんなの回答

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.1

あんまり自信ないんですが、VBの範囲ではできないんじゃないかなぁ。APIとか、使ってやる必要があるかも… ちなみに、同様の機能を持ったフォームなら、すぐに出来ますよ(最近作った)。 フォーム上にドライブリストボックス(Drive1)と、ディレクトリリストボックス(Dir1)、そして、ボタンを二つ(決定ボタン,キャンセルボタン)を配置して、以下のようなコードを記述します。 -+-+-+-+ Option Explicit Dim mResult As FolderSelectResultEnum Public Enum FolderSelectResultEnum   Canceled = 0   Selected = 1 End Enum '最後に押されたボタンを返す。 Property Get Result() As FolderSelectResultEnum   Result = mResult End Property '選択されたフォルダを取得、設定する Property Let Path(strPath As String)   Me.Dir1.Path = strPath End Property Property Get Path() As String   Path = Me.Dir1.Path End Property 'ドライブ変更時の処理 Private Sub Drive1_Change()   Me.Dir1 = Me.Drive1 End Sub Private Sub Form_Unload(Cancel As Integer)   '×ボタンで終わる時は、キャンセル   If Me.Visible = True Then     Cancel = True   End If   Me.Visible = False End Sub Private Sub キャンセルボタン_Click()   mResult = Canceled   Me.Visible = False End Sub Private Sub 決定ボタン_Click()   mResult = Selected   Me.Visible = False End Sub -+-+-+-+ そして、こんな感じで呼び出します。 Private Sub フォルダ選択_Click()   Dim FSel As New frmFolderSelect   '表示されるフォルダの初期値   FSel.Path=Curdir()   'モーダルフォームとして表示   FSel.Show 1   '結果を取得   If FSel.Result = Selected Then     MsgBox FSel.Path   Else     MsgBox "キャンセルされました"   End If End Sub

ykymtkt
質問者

お礼

この件はご存知の方がいないようなので締めきろうと思います。 今後のVBの新しいバージョンかSPに期待したいと思います。 回答ありがとうございました。

ykymtkt
質問者

補足

回答ありがとうございます。 ただ、その方法は私も知っていまして... 見た目などを考えて標準のものを使用したいんです。 APIなどを使用する必要があるのでしたらご存知の方は教えていただけないでしょうか。

関連するQ&A

  • .NET2005でフォルダ指定のしかた

    CSVを出力する処理を作ろうとしています。 出力先のフォルダをユーザーが選べるようにしたいのですが、VB.2005ではフォルダ指定できるコモンダイアログが用意されていないなようです(ファイル名を指定して保存できるSaveFileDialogというものはあるようですが)。 このような場合はどうするのが適切なのでしょうか? 保存先のパスをベタ書きするものでしょうか?

  • フォルダ参照ダイアログボックス

    今、コモンダイアログボックスの使い方を学んだばかりの初心者です。 ファイル名の指定ではなく、フォルダまでのディレクトリを指定するのに、同じようにダイアログボックスを使ってやりたいと思っているのですが、どのようにしたら良いのでしょうか? コモンダイアログボックスですと、ファイルを指定しなければなりませんよね・・・ どなたか教えていただけませんか? よろしくお願いします。

  • フォルダを開く

    「ファイルを開く」や「フォントの指定」なら コモンダイアログをコンポーネントに追加すればいいんですよね? 「フォルダを開く」はどのコンポーネントを 追加すればいいのでしょうか???

  • コモンダイアログでフォルダを固定したい

    コモンダイアログを使用するときに、初期表示フォルダを固定させたいのですが、良い方法はありますでしょうか?

  • 印刷の『総ページ数』の取得方法

    いつも参考にさせていただいております。 今回は、クリレポ帳票の総ページ数の取得方法に関する質問です。 以下のような機能を実装します。 1)クリレポ帳票を印刷する前に、印刷コモンダイアログを起動する。 2)印刷コモンダイアログでは、範囲指定もできるようにする。 2)の範囲指定で初期設定する値をクリレポ帳票の『総ページ数』から取得したいのですが、MSDNなどを見ていても分かりません。 ご存知の方いらっしゃいましたら、よろしくお願いします。 環境 WIN XP VS2003

  • My Documentsのパスを取得したい

    コモンダイアログを開いた時にデフォルトでどの端末でもMy Documentsを指定したいです。 My Documentsのパスを取得する方法が知りたいです。 宜しくお願いします。

  • コモンダイアログで最後に開いたフォルダを開きたい

    コモンダイアログで最後に開いたフォルダを開く方法はありますか? MSAU_OfficeGetFileName というアクセスライブラリでイニシャルフォルダ を長さゼロの文字列を指定したところマイドキュメントが開きました・・・ ご存知の方、教えてくださいませ。

  • Access2000のCommonDialogでファイル名を取得したい・・・

    Access2000でコモンダイアログBoxを使用してファイル名を取得 したいのですが、どうも上手く動きません! 取得方法を教えてください・・・ 通常だと↓でText形式の保存。ではFile名は? Dim strPath As String '指定ファイル名格納 'cdg = コモンダイアログ名 Me.cdg.Filter = "text|*.TXT"  Me.cdg.FileName = "C:\*.txt" 'コモンダイアログボックス表示 Me.cdg.ShowOpen strPath = "" & Me.cdg.FileName

  • エクセル マクロで任意のフォルダのパスを取得する方法

    エクセルを使用して、任意のフォルダを指定し、その中に入っているファイル(jpg画像ファイル)の名前を取得、画像をエクセルシート内に貼り付けていくというマクロを作成しています。 今回質問はその前段の部分、使用者が任意のフォルダを指定して、そのフォルダのパスをマクロが取得するというところでてこずっています。 現時点では、画像が入っているフォルダのウィンドウのアドレスバーに入っているパスを、コピぺでフォームに貼り付けさせてます^^; それだと使用者にウインドウにアドレスバーを表示するには…みたいなところから説明しなければならないのでユーザーライクではありません。 そこで、通常良くあるような、フォルダやファイルを指定させるダイアログを出したり、もしくはフォームに任意のフォルダをドラッグ&ドロップしたりすることで、任意のフォルダのパスを取得できたらな、と思っています。 そのような方法(もしくはより良い方法)を実現するマクロの組み方をご存知でしたら、教えてくださいm(__)m 宜しくお願いします。

  • コモンダイアログを表示したい

    Windows98/VisualBasic5.0を使用しています。 ファイル名を指定させるために、コモンダイアログを表示したいのですが方法がわかりません。 コントロールを貼り付ければよいのでしょうか? 初歩的な質問で申し訳ありませんが、よろしくお願いします。

専門家に質問してみよう