- ベストアンサー
EXCEL VBAで作成した ファイルを 複製できますか?
EXCEL VBAで 名簿を作成しました。 名簿はMOに 保存しました。 保存したファイルを デスクトップに コピーしました。 しかし、ファイルを開いても、マクロがうまく働きませんでした。 「同じファイル名のファイルがある・・・」のようなメッセージが出てしまいます。 1台のコンピューターだけでなく、複数で使えるようにするには、VBAで作 成したファイルはどのように保存すればよいのでしょうか。教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
方法としては何種類かありそうですが データベースファイルと操作ファイルに分ける方法を提示します。 名簿をデータベースファイルとして、VBAマクロを含まないようにします。 データベースファイルの型式はEXCELのシートそのものでも構いませんし、 MDBファイル等にしてもいいでしょう。テキストファイルでもいいです。 次に、操作用のEXCELファイルを別に作り、そのファイルにデータベース ファイル(名簿)の読み込み、書き込み保存を自動化させるVBAマクロを 組みます。この操作用のEXCELファイルを”読みとり専用”にすると、複数 のユーザーが同時に使用可能です。また、データベースファイルが重複して 開かれることがないように、読み込み時、書き込み保存時以外はシートを 閉じておくようにマクロを組みます。滅多に起こらないことですが、 読み込み時、書き込み保存時が重複した場合はエラー処理で逃げます。 本来は、このような面倒な処理はMicrosoft Access+データベースファイル が得意かもしれません
その他の回答 (2)
- bin-chan
- ベストアンサー率33% (1403/4213)
「名簿」を新たに作成して保存するか、開くか、のマクロなんでしょうね。 自分で自分を作り出そうとしている、または自分で自分を開こうとしている ことが原因と思います。 最初に作成したブックはパス(フォルダまたはディレクトリ)が異なるため 同じ名称で作成しても「別ファイル」なので問題が無かったのでしょう。 起動する側の「名簿」をリネームしてから動作させて正常に動けば このことが確認できると思います。
- bin-chan
- ベストアンサー率33% (1403/4213)
マクロ付きxlsデータを作成してコピーしても問題は無いと思います。 (「原本」を作成後、コピー・リネームしての使用をよくやってます) VBAで生成した「名簿」ファイルなのでしょうか? (「名簿」自体にはマクロを含まない) それとも何がしかのマクロを含む「名簿」ファイルなのでしょうか?
補足
ありがとうございました。 いそぎでは ないのですが、VBAではじめてつくりました。 マクロを含む「名簿」です。 エラーメッセージは 以下のとおりです。 ○○名簿.xlsと同じ名前のファイルが既に 開いています。保存先が別のフォルダでも、 同じ名前のファイルを同時に開くことはできません。 2つめのファイルを開く場合は、一方のファイルを閉じるか、 またはいずれかのファイルの名前を変更してください。 よろしくお願いします。
お礼
TTakさん ありがとう ございました。 まだ初心者で、こうすれば こうなる。といった予測がつきません。 流れが つかめるように なりたいです。 おしえて いただいたことを 参考にして できるところから はじめようと 思います。
補足
ありがとうございました。 ひとつで、全部やろうとしたのが いかなかったのでしょうか。マク ロを含むファイルは 別にしてつくると いいのですね。 データファイルをつくることと、 操作用ファイルは 別につくり読み取り専用にすることが大事なこと だったのですね。 Microsoft Access の方が 得意なんだろうな思っていましたが、 Excelなら だれにでも 使えそうかなと 思って 取り組んでいます。 前途多難のようですが、少しずつ作ってみようと思います。 ありがとうございました。