こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

access2003でVBAを使ってEXCELファイルをコピーしたい。

access、VBA初心者です。
会社でaccess2003を使ってexcelファイルを管理しようと思っています。
自動保存を防止するために非連結フォームで「保存ボタン」を押すことによってテーブルへデータを保存するようにしています。(ここまではできました)

テーブルに保存するデータの1つにexcelファイルへのパス(ハイパーリンク)を保存したいのですが、
1.ファイルを参照するダイアログボックスを使って任意のecxelファイルを参照し
2.そのexcelファイルのコピーを作成し
3.オートナンバーのように名前を変更して
4.一定の保存場所へ保存。(保存場所は固定)
5.保存先のパスをテーブルに保存。
という作業を行いたいのですが、
どういった形で作成すればよいのかわかりません。
フォーム上に何を配置し、VBAをどういう構文で書けばいいのかもわかりません。
要は、後々に、誰がいつ作ったエクセルファイルなのかを引き出せるものができればいいので、もっといい方法があれば教えていただきたいです。よろしくお願いします。

投稿日時 - 2009-01-09 11:26:28

QNo.4615954

困ってます

質問者が選んだベストアンサー

1.ファイルを参照するダイアログボックスを使って任意のecxelファイルを参照し
http://support.microsoft.com/kb/824272/

2.そのexcelファイルのコピーを作成し
FileCopy ステートメント
VBA画面にてFileCopyでHELP検索

3.オートナンバーのように名前を変更して
http://www.k1simplify.com/vba/tipsleaf/leaf270.html
Folderオブジェクトで使用済み(連番最大)のファイル名を見つける
5.でDBに保管されているのであればDBからMAXを求めても良いが
実際のフォルダー内容とDBの同期が取れていない場合、FileCopyでは上書き警告されませんので注意

4.一定の保存場所へ保存。(保存場所は固定)
2.と同じで複写すればよい

5.保存先のパスをテーブルに保存。
4.で一定の場所となっていますのでパスは必要?
ファイル名と実行日時だけでよいのでは?

Shellコマンドでxxx.xlsを実行するとExcelが通常インストールされていれば開きます。
但し、Shellコマンドでは新しくExcelアプリケーションが作成されるためPerconal.XLSを使用している場合は使用中警告が出るかも?

投稿日時 - 2009-01-09 13:30:19

お礼

さっそくの回答ありがとうございます。
回答を参考に試行錯誤がんばってみます!

投稿日時 - 2009-01-09 16:08:35

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問