• ベストアンサー

エクセルのマクロで『ファイルを閉じる』を記憶させたい

部署の共有ファイルに台帳のような形で みんながリストに追加して、上書き保存していくといったファイルで、 マクロのボタンを作成したいです。 『保存して終了』という機能のボタンを作成したいのですが、 保存まではできるのですが、ファイルを閉じる部分の記憶をどのようにしたらよいのか分かりません。記憶中にファイルを閉じるとすると、本当にファイルを閉じてしまい、その前の部分までしか記憶していません。エディタ内でコマンド入力するしかないのでしょうか?? 是非、ご教示お願いします。 また、このような共有ファイルのうまい運用の仕方があれば教えて下さい。使う人の中にはPCが初心者といった人もいます。。

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

  • ベストアンサー
  • akina_line
  • ベストアンサー率34% (1124/3287)
回答No.1

こんにちは。  VBAを記録しているファイルとは別にxlsファイルを開いて、閉じてみたらレコーディングできると思います。あとで、ファイル名を手で修正します。Excelを終了させたい場合は、手で書くしかないと思います。  また、共有ファイルは複数人で開くと「読込み専用で開きますか?」とか聞かれるので、例えば、他の人が遣っているときはメッセージを出して開けないようにするといいと思います。(難しいかもしれません。) では。

skf64739
質問者

お礼

ありがとうございます。 やってみます!

その他の回答 (2)

回答No.3

>エディタ内でコマンド入力するしかないのでしょうか?? 簡単なのでエディタで入力したほうが早いです。ほかの方も回答されてますが、一応。 基本構文) ■自分自身を閉じる場合 Thisworkbook.Close ■他のエクセルを閉じる場合 Workbooks("xxxxx.xls").Close また閉じる時のオプションを追加して、「保存して閉じる」を1行で書けます。 例)Thisworkbook.Close SaveChanges:=True ボタンを押したときの動作として上記1行を書けばOKです。 共有して使っているとデータがおかしくなる可能性もあるので 私は共有ファイルのバックアップをちゃんとやることと、誰がいつ 編集したかを記録するようにしてました。 保存して終了ボタンをおしたときにWindowsアカウントと日時を 記録するような。

skf64739
質問者

お礼

ありがとうございます。 助かりました!

回答No.2

こんにちは。 ファイルを閉じる方法は、 Workbooks("Book1.xls").Close とか、 ThisWorkbook.Close ↑ThisWorkbookは、マクロのあるファイルのことです。 Workbooks("Book1.xls").Close SaveChanges:=True とすれば、上書き保存してからファイルが閉じます。 Workbooks("Book1.xls").Close SaveChanges:=False ↑最後をFalseにすると、保存せずに強制的にファイルを閉じますよ。 共有ファイルだと、セルの結合とか、挿入とか制限される機能がありますので、 使う人にとって便利になればいいですね。 少し関係ない話ですが、私は昔ファイルを開きっぱなしにしている人がいて、 編集できなくて困ることが多々あったので、 30分ファイルを開いている状態が続くと強制的にファイルを閉じる処理をしたことがありました。 参考までにどうぞ。

関連するQ&A