• ベストアンサー

ファイルを終了しても、値を保持する。

VBAを使って、値をシート上に表示させています。 値の入力はユーザーフォームを使って行っています。 Excelを終了しなければ、その入力された値は保持されているのですが、 Excelを終了してしまうと、入力した値は消えてしまいます。 この値をずっと保つためにはどうしたらいいのでしょうか? Excelシートにデータを入力して…という方法は使えません。 (上記のものをアドインとして組み込んでいるため。)

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

こんにちは。 >#2の方のところにもかいたのですが、ほぞんされませんでした。 アドインブックの、ThisWorkbook モジュールに、例えば。 Workbook_BeforeClose イベントで、 例: Private Sub Workbook_BeforeClose(Cancel As Boolean) ThisWorkbook.Worksheets(1).Range("A1").Value =Date '保存するものを入れます ThisWorkbook.Save End Sub と入れておけばよいです。 取り出すときは、分かりますね。 保存データは、あまり詰め込まないようにしてください。

その他の回答 (3)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

こんにちは。 >Excelシートにデータを入力して…という方法は使えません。 >(上記のものをアドインとして組み込んでいるため。) それは、dll アドインやcom アドインを用いたときに限ります。通常のアドイン(.XLA)の場合は、最低1つのシートを持っていますから、そこをデータを置いたり、保存したりして使用しています。 しかし、アドインでない場合は、他に、Win32 APIで、iniファイルを置いたり、CustomDocumentProperties を使用したり、SaveSetting で、レジストリに置いたりしています。

w-inty
質問者

お礼

回答ありがとうございます。 dllアドインやcomアドインではないので、通常の方法でよかったのですね、知りませんでした。 #2の方のところにもかいたのですが、ほぞんされませんでした。

回答No.2

こんにちは。 >Excelシートにデータを入力して…という方法は使えません。 >(上記のものをアドインとして組み込んでいるため。) とのことですが、アドインといっても、普通のエクセルブックと同じように、 シートは存在し、そこにデータを書き込んだり、読み出したりすることは可能ですよ。 VBEの画面でアドインブックのプロパティを確認すると、IsAddinというプロパティがあります。 このプロパティがTRUEに設定されているのが、アドインブックで、 FALSEに設定されているのが普通のエクセルブックです。 試しにIsAddinをFALSEに変えてから、エクセルに戻ると、アドインブックの シートが見えているはずです。 ですから、 Workbooks("Book1.xla").Sheets("Sheet1").Range("A1").Value="○×△" のような感じで、通常のブックと同じようにアドインブックのオブジェクトに アクセスして、値を書き込んでおけば良いと思います。

w-inty
質問者

お礼

回答ありがとうございます。 教えていただいたようにおこなったのですが、xlsファイルではできましたが、xlaファイルでは保存されませんでした。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.1

テキストファイルに書き出す、ではだめですか?

w-inty
質問者

お礼

回答ありがとうございます。 テキストファイルに書き出すのはどのような方法で行えばよろしいのでしょうか?

関連するQ&A