• 締切済み

Accessでの任意のフォルダ指定

VBA初心者です。 現在Accessの「フォーム」でボタンを押すとあるフォルダに保存されているCSVファイルをテーブルに取り込むことまではできました。 例えばD:\Tempにxxx.csvというファイルが毎日上書き保存されていて、それを毎日テーブルに追加しながら取り込みます。 このD:\Tempという作業用のフォルダはあくまで仮のフォルダなので、ユーザー側で作業用フォルダを指定できるように設定画面をつくりたいのですが、例えばテキストボックスにユーザーにフルパスを文字入力させるのではなく、エクスプローラーみたいなのが起動してユーザーが視覚的に作業用フォルダを指定できるようにするにはどうすれば良いでしょうか?

みんなの回答

  • Gin_F
  • ベストアンサー率63% (286/453)
回答No.2

> ユーザー側で作業用フォルダを指定できるように設定画面をつくりたいのですが、 ファイルのインポートの都度ではなく、作業用フォルダが変更になったときのみ、 "フォルダ名" だけを変更したいのなら、 Function SelectFolder() As String Dim objFolder As Object Set objFolder = CreateObject("Shell.Application") _ .BrowseForFolder(hWndAccessApp, _ "フォルダの選択", _ &H1) If Not objFolder Is Nothing Then SelectFolder = objFolder.Self.Path Set objFolder = Nothing End If End Function こちらとか。 あと、ファイルを開くダイアログを使うのであれば、バージョンによって方法が 変わりますので、バージョン情報も提示された方がいいと思います。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

下記のURLで「ファイルを開く」で検索してみてください。 http://www.accessclub.jp/index.html 「ファイルを開くダイアログボックスを利用する方法 - Officeライブラリー:SampleFile159」

関連するQ&A

  • AccessでのCSVファイル取り込みの自動化をしたいのですが。

    AccessでのCSVファイル取り込みの自動化をしたいのですが。 D:\DATA\というフォルダの下に「01」~「99」という99個のフォルダがあり、すべてのフォルダの中に「item.csv」「kaku.csv」,「kumi.csv」,「time.csv」,「total.csv」という存在します。 毎日01-99に順番にデータが格納されていきます。そのデータを毎日、Accessのテーブルに保存する作業を自動化(「01」~「99」のフォルダ指定)にしたいのですが出来ません。 どなたかご教授ください。ちなみにAccessのテーブルはCSVのファイル名と同じです。

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

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

  • Access csvの取込 ファイルは任意でテーブルは指定したいのですが?

    Access初心者です。2003を使用しています。 csvをマクロの「テキスト変換」で取り込ませています。取り込み時に定義どおりのテーブルを作成してくれるので、追加クエリを使い作業用テーブルに移動させ、処理にはそちらを使う仕組みにしています。 csv → データ用テーブル → 作業用テーブル(実際使うテーブル) csv取り込みには「テキスト変換」マクロでファイル名にパスを設定していますが、この部分を固定パスではなく任意に指定できるようにしたいのです。(取り込みたいcsvが決まったパス、ファイル名で無い場合があります。) 「コマンドの実行:インポート」ですとダイアログが出て任意に取込ファイルが指定できますが、インポートウィザードが起動してしまいます。使用者がウイザードで適切な定義を選びデータ用テーブルを作成してくれればいいのですが、私がツールを作りPCに詳しくない人が使うのでインポートウイザードを避けたいと考えます。 どなたか、マクロ「テキスト変換」でファイル名をダイアログなどで、任意に指定できるような手法をご存じないでしょうか? また、マクロでは無理なようでしたらVBAでしたら可能でしょうか? よろしくお願いします。

  • ExcelVBAでファイルを開くフォルダ指定方法

    ExcelのVBAを用いて実験データのcsvファイルをまとめるプログラムを書いています. 肝心のプログラムはほぼできています. しかし OpenfileName = Application.GetOpenFilename("CSVファイル,*.csv?") としたときに開かれるフォルダ(ファイルを指定するフォルダ)がカレントフォルダ?となっております. 実行するExcel(VBA入り)と実験データが下記のパスにあったとして C:\Users\ABC\Documents\Data\110302\ カレントフォルダはなぜかマイドキュメントがデフォルトになってしまいます. C:\Users\ABC\Documents\ 階層移動できるので問題なくもないのですが,一々階層移動するのも面倒なので修正したいと考えております. そこで (1)プログラム実行直前にカレントフォルダを実行するExcel(VBA入り)の位置に変更する方法 (2)カレントフォルダと関係なく実行するExcel(VBA入り)があるフォルダを開く方法 どちらかで対処できると考えたのですがその方法が見つかりません. (ちなみに実行するExcel(VBA入り)の位置は動かすものとするので絶対パスでの指定はなしとします) どなたかご教授お願いします.

  • 自動で.xlsを閉じて指定フォルダに移動させたい

    開いているエクセルファイルが多数あるのですが、今アクティブになっているファイルだけを、上書き保存→閉じる→指定したフォルダに移動までを自動で行なわせたいです。 ・上書き保存はマクロの記憶でできるのですが、閉じるをしてしまうとマクロを終了できない、指定したフォルダに移動はマクロではできなく、教えて下さいませ。ファイルの移動は、名前を付けて保存ではなく、そのファイル自体を移動させたいです。 移動させたいファイルは決まってなくて、その都度変わります。 Sub Macro1() ActiveWorkbook.Save End Sub ・現時点、開いているファイルの保存場所 C:\Documents and Settings\aaa\デスクトップ\作業用 ・移動させたいフォルダ C:\Documents and Settings\aaa\デスクトップ\作業用\保存用

  • 複数の指定したフォルダーに同時に保存する方法

    よろしくお願いします。 普段はバックアップしたいファイルをパソコンの作業終了時に 複数の場所へ上書きコピーをしています。 一回の保存作業で複数の指定したフォルダーに 同時に保存することができれば上書きコピー忘れを防げると思います。 何か方法をご存知でしたら教えいただけませんでしょうか。

  • エクセルから指定フォルダーのファイルを削除?

    またまた お願いします。 エクセルで作成したシートを指定のフォルダー内にCSVで保存することが できましたが、逆にそれを削除するにはマクロやVBAでどう記述すればよいのでしょうか? エクセルヘルプみてもわかりませんでした。 お願いします。

  • Access 保存場所変更後クエリが使えない

    1.リンクテーブルマネージャでCSVファイル2つのパスを指定 2.クエリにて2つのファイルの重複チェック ※CSVファイル、Accessファイルはファイルサーバの同じ作業フォルダ内に保存 職場にて上記作業をAccess を使用して行っているのですが、 先日、ファイルサーバの引越があり、引越し先の作業フォルダに CSVファイル、Accessファイルをコピーして CSVファイル2つのパスを再指定してから クエリを使用したところ”クエリパラメータ”の入力画面が出てきて 処理ができない事象が発生しました。 どこかに作業フォルダパスを指定する設定があるのかとクエリのソースを 確認等しましたが、見つからず困っております。 本事象について、原因や解決方法をご存知な方いらっしゃいましたら お教えください。

  • Access VBA CSVファイルのインポート

    お世話になります。 VBAにてCSVファイル(タブ区切り)をインポートするのに、 以下のように記述してますが、エラーとなります。 なお、インポート先のtempテーブルはインポートするCSVファイルの フィールドと同じ並びで予め作成したものです。 DoCmd.TransferText acImportDelim, , "temp", path, True 「実行時エラー2391 貼り付け先のtempテーブルには、'フィールド1_ フィールド2_フィールド3'フィールドがありません。」 このエラーを見る限り、フィールド1~3が一つのフィールドとして 認識されているように見受けられます。 タブ区切りなのか、カンマ区切りなのかを指定するようなパラメタは あるのでしょうか。 なお、当該CSVファイルをウィザードより手動でインポートする分には 問題無くインポート出来ます。 ************** インポートするCSVファイルはユーザーにより見出し(フィールド)の 並びが異なる場合がある為、インポート定義を予め作っておくことが できない状況です。 ご教授の程、宜しくお願い致します。

  • excelVBAにて開くフォルダを指定

    エクセル上にボタンを作成し、押下するとファイルを選択するダイアログが開き、ファイル(csv)を指定して読み込みエクセルに貼り付けていくというのをつくったのですが、これをフォルダを指定してそのフォルダ内のファイルをすべてループさせて読み込ませたいのですが、フォルダの指定がよくわかりません。参考になるHPなどありましたらご紹介下さい。宜しくお願いいたします。

専門家に質問してみよう