• ベストアンサー

Excel Book の変更の検知

OrangeCup150の回答

回答No.1

■ThisWorkbook Private Sub Workbook_BeforeClose(Cancel As Boolean) If Not ThisWorkbook.Saved Then ThisWorkbook.Save End Sub Workbook.BeforeClose イベント (Excel) http://msdn.microsoft.com/ja-jp/library/office/ff194765.aspx こちらの例文がそのものずばりでした(^^;) ※ Me と ThisWorkbook はこの文脈では同一です。

iso27001
質問者

お礼

早速の回答、ありがとうございます。 後は自力でなんとかなりそうです。

関連するQ&A

  • エクセル2003から2010に変更

    エクセル2003から2010に変更したのですが xlsファイルを保存する時に このブックで使用されている次の機能は、 以前のバージョンの Excel ではサポートされていません。 このブックを以前のバージョンの Excel で開くか、 以前のファイル形式で保存すると それらの機能が失われるか、正常に実行されなくなる可能性があります。 再現性の低下 このブックのいくつかの数式は、現在閉じている他のブックにリンクされています。 以前のバージョンの Excel では、 リンク先のブックを開いていないときにこれらの数式を再計算すると、255文字を超える部分は返されません。 出現数 70 定義された名前 バージョン Excel 97-2003 とでるのですが、70か所もエラーがあるのでしょうか? 「このブックを保存するときに互換性を確認する」 のチェックを外せば、この表示は出ないと思いますが、 ちゃんとした方法でこの方法を出さないようにするにはどうすればいいでしょうか? 名前を付けて保存で、xlsxやxlsmファイルにすればいいですか?

  • エクセル2002で保存したものをエクセル98で開くと。。。

    私のOSはXPで、エクセル2002 相手OSは98で、エクセル98 2002で保存したものを、98で開くと、文字化けするそうです。 保存方法[Excel 5.0/95 ブック]と[Excel 97-2002 および 5.0/95 ブック]どちらを試しても無理でした。 2002で保存したものを、98では見れないのでしょうか?

  • エクセルVBA ブックを閉じるときに・・・

    エクセルVBAで、ブックを閉じるときに、 「変更を保存しますか?」ダイアログを出さずに閉じたいのです。 保存はしたくないので、そのまま単純に保存しないで閉じてくれればいいのですが・・・ そんな事は出来ますでしょうか?

  • Excel XPファイル→Excel97ファイルに変更できますか?

    Excel XPで最初に作ったファイルを、古いバージョンでも使えるように、結局Excel97で作りこみました。 しかし、97で保存するときに毎回、「最新版で作られた情報が失われる可能性があります」というメッセージが出ます。 これが出ないようにするにはどうしたらいいんでしょうか? ためしに、97で保存するとき、[名前をつけて保存]でファイルの種類を[Microsoft Excel97および5.0/95ブック]というので保存してみましたがだめでした。 分かる方、教えていただけますか? よろしくお願いします。

  • エクセル「読み取り専用」を変更出来なくする設定は?

    エクセル2000です。 BOOKの属性を「読み取り専用」としているのですが、この属性を変更不可と出来ないものでしょうか?設定したときのやりかたと同じですが、開く前のBOOKのアイコンを右クリックして「プロパティ」の「全般」で、中にある「属性」の「読み取り専用」のチェックをはずすと簡単に変わってしまいます。 VBAでWorkbook_BeforeSaveを使って上書き保存が出来ないようにすることは十分可能でしょうが、できればせっかく用意されている「読み取り専用」という属性を活かしたいと思い質問いたしました。 よろしくおねがいいたします。

  • ExcelVBA:自己のBook名を取得したい

    WindowsXP-Proです。 Excelヴァージョンは2003です。 ExcelVBAでコーディングしています。 で、自分自身(つまり、このVBAコードを記述しているExcel本体)のBook名を取得したいのですが、何か関数は用意されていますでしょうか? 自分自身のBook名を取得したい理由は、VBAコードを記述しているExcel本体のファイル名(Book名)の名前が変更されても、VBAが正常に機能するように、今現在のBook名を取得したいのです。 複数のExcelファイルを、このVBAで操作しているため、 Workbooks("本体のBook名").Activate を用いており、仮にファイル名(本体のBook名)の名前が変更されても、VBAが正常に機能できるように、"本体のBook名"部分を固定ではなく、可変で持てるようにしたいからです。

  • Access→Excelを起動した際の挙動について

    Access2000VBAの件で質問です。 このたび、OSをXPからVistaにVerUpしまして、AccessVBAからExcelブックをオープンした際に、Excelの挙動に異変が… 具体的には (1)XP :エクセルが最前面に起ち上がる (2)Vista:エクセルがタスクバーに最小化した状態で起ち上がる(で、オレンジ色に点滅する) と、OSによって挙動が違うのですが、なんとかXP側の挙動に合わせたいです。 実現する方法は無いでしょうか? 注意事項としては以下のとおりです。 ・レジストリは変更できない ・Excel側にマクロを仕込んでもOK 要件としては、起動したエクセルがタスクバーに最小化されずに、デスクトップの最前面に表示されればOKです。 皆様のアイディアをお待ちしております。 よろしくお願いします。

  • Excelのバージョンへの変更

    取引先からExcelデータをExcel2003バージョンへ変更してメール添付送信してほしいと言われました。 しかし、うちのPCには2003バージョンはありません。 私の認識ではExcel2003を購入、ダウンロードしてからじゃないと変更出来ないと思っていますが、合っていますか? ちなみに変更保存のやり方は分かっています。 ちなみに許可なくどこかのソフトをダウンロードすることは出来ません。 どなたか認識が間違ってないか教えて下さい。

  • C# Excelファイルを生成したい

    只今Excelファイルの出力について悩んでいます。 DataGridViewやListViewのデータをExcelに吐き出そうと思っています。 が、ネットで色々と調べてもよくわかりません・・・ サンプルソースは出てくるのですが、何が必要でどのようなことができるのかが いまいちピンと来なく、なかなか実現に至っていません。 やりたいことは  ・新規作成するExcelファイルの名前を任意で入力  ・保存先を指定  ・DataGridViewなどの入力データをExcelにそのまま吐き出す です。 分からないのは  ・Excelファイルを生成して保存してからデータを入れるのか(処理の順番)  ・データ挿入はどうやるのか  ・そもそもExcelファイルの生成と保存の仕方 プログラミング初心者なので、いまいち把握しきれません できれば97-2003ブックに対応したものをと思っています。 手順など分かる方、よろしくお願いします。 念のため開発環境とExcelのバージョンを・・ VisualStudio2008 C# OS:XP Excel:2007

  • Excelで、異なるブック間での同一シートの共有?

    こちらのカテゴリーでは初めてお世話になるかと思います、 r_belと申します。どうぞよろしくお願いいたします。 フォルダA │ ├─ フォルダ1 │├─ ExcelBook1.xls │├─ linked_email1.msg │└─ linked_doc1.pdf │ ├─ フォルダ2 │├─ ExcelBook2.xls │├─ linked_email2.msg │└─ linked_doc2.pdf │ ├─ フォルダ3 │├─ ExcelBook3.xls │├─ linked_email3.msg │└─ linked_doc3.pdf │ └ SummaryBook.xls このような構成のファイルとフォルダがあります。 それぞれのフォルダの中には、その中にある エクセルファイル(例:ExcelBook1.xls)上から ハイパーリンク機能を使って、相対パスでemailやpptやpdfなどの 参考資料を指定してあるので、このように整理しています。 (相対パスだと各フォルダを動かしたり、 名前を変更してもリンクに支障がでないので。) このとき、ExcelBook1.xls ~ ExcelBook3.xls を一つずつ開くのではなく、SummaryBook.xlsの中で まとめて閲覧するなんてことはできますでしょうか? 初心者なので、できればVBAやマクロは使わずにすめば大変ありがたいのですが・・・。 ExcelBook1.xls ~ ExcelBook3.xlsは結構頻繁に更新するものなので、 シート全体をリンク貼り付けする、あるいは複数のブックで 同一のシートを共有するようなイメージでいるのですが、 このようなことは可能でしょうか? どうぞよろしくお願いいたします。