VBAで、「名前を付けて保存」を防ぐ方法はありませんか?

シートごとに(or 値のみテキストで)コピーすれば、どうにでも回避できるのはわかっていますが、簡単に防げれば、無いよりはマシと考えての質問です。
上書き保存は、以下で実現できました。
http://www.vbalab.net/vbaqa/data/excel/log/tree_576.htm

バージョンは、2000です。

回答の条件
  • URL必須
  • 1人1回まで
  • 登録:2006/08/23 21:36:44
  • 終了:2006/08/24 13:48:12

回答(2件)

id:freemann No.1

freemann回答回数315ベストアンサー獲得回数502006/08/24 04:26:58

ポイント35pt

質問内容から察するに、上書き保存も名前をつけての保存も、保存はとにかくダメということにしたいと理解しました。

なので、

質問のところにあった上書き保存を阻止するソースで、

  If ThisWorkbook.Path <> "" Then

   Cancel = True '保存キャンセル

   ThisWorkbook.Saved = True '保存したふり

  End If

   Cancel = True '保存キャンセル

   ThisWorkbook.Saved = True '保存したふり

と、IF文をなくせばよいのでは?

//質問の中のURL

http://www.vbalab.net/vbaqa/data/excel/log/tree_576.htm

id:P-mako

あぅ。確かに。

あまりにVBAに疎いもので・・・というのは言い訳にならないですかね。

2006/08/24 10:02:03
id:robbie21 No.2

robbie21回答回数34ベストアンサー獲得回数12006/08/23 22:52:42

ポイント35pt

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

Cancel = True

End Sub


ただし、

シートごとに(or 値のみテキストで)コピーすれば、どうにでも回避できるのはわかっていますが、

とのことなので、お気づきかとは思いますが

マクロを無効にして開くとか、そもそも開かずにコピーして名前を変更とか、回避方法はいくらもあります。念のため。

URLはダミーです。

http://www.moug.net/

id:P-mako

Webクエリを使ってデータ更新しているので、マクロの無効状態ならファイルコピーされても問題ないです。

ファイル名もマクロ内で確認しているので、これも同様です。

それでも回避方法はたくさんあるんですがね・・・

2006/08/24 10:00:48
  • id:fan--fann
    元のデーターを 変更されたくないのなら 保存の時に テンプレートとして 保存しては いかがですか?

    テンプレートとして 上書き保存されたら 駄目ですが・・・・

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません