dポイントプレゼントキャンペーン実施中!

お世話になっております。

シンプルなタイトルですが、
内容はわかりにくいので、
先に事情を説明します。

------------

工場の現場でエクセルで使っております。
※タブレットPCで使っています。

図面を探すマクロを作成し、ボタン操作で、
図面をタブレットPCに表示しており、
図面の検索、閲覧に使っています。


で、、、問題はここからです。

このマクロには閲覧した図面番号を
Sheet2に書き込む機能を組み込んであります。

そこまではいいのですが、
作業者が上書き保存しないで、
終了してしまったら、
せっかくの閲覧履歴が消えてしまいます。


具体的に言うと、
ファイルを閉じる時に「○○への変更を保存しますか?」
というメッセージに対して「保存しない」を
選択した場合でも保存したいということです。

要するに、せっかくの閲覧履歴なので、
何が何でも保存したいと思っております。

ムチャクチャな話で矛盾していると思うのですが、
自動保存の機能があるので、
もしかしたら何か方法があるのでは?
と思って質問させて頂きました。

すいませんが詳しい方、説明の上手な方、操作を具体的に説明できる方、
お手数ですが教えて下さい。よろしくお願いします。

追記
マクロを利用する場合は、お手数ですが、
コードの記載をお願いします。

まだVBA初心者なので、「○○して、××する」みたいな
ご説明ではわからないと思います。

A 回答 (5件)

VBAならば1行で可能ですが、本当に良いのですか?


間違って書き換えてしまった時、壊れた状態で書き込まれてしまうのですよ!
---------------------------------------------------------------
「ThisWorkbook」の「Workbook_BeforeClose」イベントに以下を記入してください。(コードとしては「ActiveWorkbook.Save」のみです)
---------------------------------------------------------------
Private Sub Workbook_BeforeClose(Cancel As Boolean)
ActiveWorkbook.Save
End Sub
---------------------------------------------------------------
    • good
    • 1
この回答へのお礼

ご解答ありがとうございます。
いつも的を得たアドバイスで感謝しております。

>VBAならば1行で可能ですが、本当に良いのですか?
間違って書き換えてしまった時、壊れた状態で書き込まれてしまうのですよ!

そのとおりですね。
みなさんの意見を参考によく考えたのですが、
終了直前にマクロと一緒に一気に保存する、
というのがマズイように思います。

なので、別操作でSheet2の履歴を
先にどこかへ(別ファイルへ)書き出そうかという気になりました。
※この件についてはまたこちらで質問するかもです。

今回はご解答頂きありがとうございます。
機会がありましたら、またお願いします。

お礼日時:2016/09/05 06:17

パソコンの苦手な人なら、何時間頑張っても消えてしまうことがあるので必ず上書き保存をすることを習慣付けておいた方がいいです。


 私は前のファイルを改造して別のファイルにするときは、初めに別名で保存してから作業を始めます。
そうすると失敗しても前のファイルが残りますし、どっちが新しいファイルかな?と悩む必要もありません。
 全自動洗濯機を使っていると普通の洗濯機がつかなくなります。全自動も考え物です。
 そのうちにロボットが車の運転を始めると、思ったところへ行けなかったと不満が出ることなると思います。
    • good
    • 0
この回答へのお礼

今回はご解答頂きありがとうございます。

NO.2さんへのお礼に記載したとおり、
終了直前にマクロの入ったファイルに
保存するのがマズイ気がします。
なので、別途、具体的な対策を考えることにしました。

みなさんの様々なご意見ありがとうございます。

貼付のお礼になりますが、
アドバイスは全て参考にさせて頂きました。

今回はご解答ありがとうございます。

お礼日時:2016/09/05 06:21

…本来は検索して見つかったらその時点で上書きするのが挙動としては正しいような気がする。


終了時に上書きは違うと思うんだ。異常終了した時は履歴残らないよ。

マクロを書き直すことを勧める。
自身で修正できないのであれば、上司に依頼してみよう。
業務内で行うか、外部業者に委託するかは別の問題です。
    • good
    • 0
この回答へのお礼

今回はご解答頂きありがとうございます。

NO.2さんへのお礼に記載したとおり、
終了直前にマクロの入ったファイルに
保存するのがマズイ気がします。
なので、別途、具体的な対策を考えることにしました。

みなさんの様々なご意見ありがとうございます。

貼付のお礼になりますが、
アドバイスは全て参考にさせて頂きました。

今回はご解答ありがとうございます。

お礼日時:2016/09/05 06:21

私なら ですが,


その図面を探すマクロ の最終行に
ActiveWorkbook.Save
を追記します.
    • good
    • 1
この回答へのお礼

今回はご解答頂きありがとうございます。

NO.2さんへのお礼に記載したとおり、
終了直前にマクロの入ったファイルに
保存するのがマズイ気がします。
なので、別途、具体的な対策を考えることにしました。

みなさんの様々なご意見ありがとうございます。

貼付のお礼になりますが、
アドバイスは全て参考にさせて頂きました。

今回はご解答ありがとうございます。

お礼日時:2016/09/05 06:20

必ず保存してから終わって下さい。


私も若い頃1時間も仕事をしたのに消えてしまったことがあります。
上書き保存
そして終了
これを忘れないで下さい。
    • good
    • 0
この回答へのお礼

ご解答ありがとうございます。

全くおっしゃるとおりだと思います。
ですが、、、使うのは私ではありません。

パソコン操作に慣れていない者ばかりで、
しかも手袋を着用して工場の現場でタブレットPCを操作しております。

こういった事情があり、操作ミスをした時も含めて、
「もしかしたら自動保存の機能を利用して出来るのではないか?」と思い、
こちらで質問させて頂きました。

という事情ですので、引き続き、前向きな解答を募集させて頂きます。

今回はご解答頂きありがとうございます。

お礼日時:2016/09/04 22:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!