Base自分用のナレッジベース。Server、オープンソース系のシステムやフリーソフトに関する情報、iPhone、Androidスマホ便利情報など役立つ情報などを覚書しておくためのブログ。リニューアルされました。リダイレクトされます。AccessのVBAでWizHookオブジェクトを使用して[ファイルを開く]もしくは、[名前をつけて保存]ダイアログボックスを表示する際に選択される初期フォルダを任意のフォルダに指定する方法についての覚書です。VBA:WizHookオブジェクトを使用して[ファイルを開く]、[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム」で紹介したユーザー定義関数のサンプルプログラムを任意のフォルダを選択させた状態で開くことができるように変更しました。VBA:WizHookオブジェクトを使用して[ファイルを開く]、[名前を付けて保存]ダイアログボックスを表示するサンプルプログラム」を基にしていますので、よくわからない場合は、まずそちらを参照してください。最後の方にデスクトップフォルダやテンポラリフォルダなど、Windowsの特殊フォルダと呼ばれるフォルダを指定する方法について記述していますので参考にしてください。以下にそのユーザー定義関数を紹介します。WizHookオブジェクトを使用した[ファイルを開く]、[名前をつけて保存]ダイアログボックスを表示するサンプルユーザー定義関数サンプルとして紹介するユーザー定義関数は、引数として[ファイルを開く](True)ダイアログボックスか[名前をつけて保存](False)かを表すBoolean型の引数、ファイルの種類を指定するフィルタ文字列、ダイアログボックスのタイトルを表す文字列、カレントディレクトリを指定する文字列の4つを持ちます。ユーザー定義関数のサンプルプログラム以下のサンプルプログラムをVBAの標準モジュールにコピー&ペーストしてください。Function上記ユーザー定義関数を呼び出すサンプルプログラム以下に上記ユーザー定義関数をプログラム中で呼び出して使用するサンプルプログラムを記述します。初期フォルダに"C:\"を指定して呼び出す際のプログラムは以下のようになります。"キャンセルが押されました。Sub[デスクトップ]フォルダや[Windows]フォルダなどの特殊フォルダを初期フォルダにする方法ちなみに、デスクトップフォルダやテンポラリフォルダなど、Windowsの特殊フォルダを指定したい場合は、少しめんどくさくなります。ログインしているユーザーごとにパス文字列が異なる[デスクトップ]フォルダや、Windowsセットアップ時に指定するディレクトリ名によってパスが変わってしまうWindowsの特殊([Windows]フォルダや[System32]フォルダなど)フォルダをカレントディレクトリに指定したい場合は、"WScript.Shell"オブジェクトや"FileSystem"オブジェクトを利用します。これらのオブジェクトを利用して特殊フォルダのパスを取得してからユーザー定義関数を呼び出します。Windowsの特殊フォルダやWindowsをセットアップしたフォルダ(Windowsフォルダ)、System32フォルダなどの特殊フォルダのパスを取得する詳細については、以下の記事を参考にしてください。「VBA:デスクトップフォルダやマイドキュメントフォルダなどWindowsの特殊フォルダのパスをVBAで取得する方法」[デスクトップ]フォルダを初期フォルダを指定するサンプルプログラム以下のサンプルは、"WScript.Shell"オブジェクトを利用してデスクトップフォルダのパスを取得ユーザー定義関数を呼び出しています。"キャンセルが押されました。以下は、上記サンプルプログラムの"SpecialFolders"で指定できる各特殊フォルダを表す文字列の一覧です。スタートアップフォルダAccessのVBAで[ファイルを開く]、[名前をつけて保存]ダイアログボックスを表示する方法についての記事AccessのVBAで[ファイルを開く]、[名前をつけて保存]ダイアログボックスを開く方法については、結構色々な記事を作ってあるので参考にしてください。端末にAPNが正しく設定されていません。(11/25)プロフィールこのブログの中の人:billyboyこのブログを見に来てくれてありがとうございます。このブログの中の人はExcel、AccessのVBAに関するカスタマーサポート、技術ドキュメントのの作成業務を経験後、開発系SEを経て現在は金融系企業のシステム運用/保守SEとして働いています。当初自分が困ったときに解決した方法や社内/外からの技術的な問い合わせに回答した時に作ったプログラムなどを自分用の備忘録としてこのブログを開設しました。たくさんの方に見に来ていただけてることに気づいてからはなるべく誰が見てもわかるような記事内容にすることを意識して書いています。