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

VBAを使って、値をシート上に表示させています。
値の入力はユーザーフォームを使って行っています。
Excelを終了しなければ、その入力された値は保持されているのですが、
Excelを終了してしまうと、入力した値は消えてしまいます。
この値をずっと保つためにはどうしたらいいのでしょうか?

Excelシートにデータを入力して…という方法は使えません。
(上記のものをアドインとして組み込んでいるため。)

A 回答 (4件)

こんにちは。



>#2の方のところにもかいたのですが、ほぞんされませんでした。

アドインブックの、ThisWorkbook モジュールに、例えば。

Workbook_BeforeClose イベントで、

例:
Private Sub Workbook_BeforeClose(Cancel As Boolean)

ThisWorkbook.Worksheets(1).Range("A1").Value =Date '保存するものを入れます
ThisWorkbook.Save

End Sub

と入れておけばよいです。
取り出すときは、分かりますね。
保存データは、あまり詰め込まないようにしてください。
    • good
    • 0

こんにちは。



>Excelシートにデータを入力して…という方法は使えません。

>(上記のものをアドインとして組み込んでいるため。)
それは、dll アドインやcom アドインを用いたときに限ります。通常のアドイン(.XLA)の場合は、最低1つのシートを持っていますから、そこをデータを置いたり、保存したりして使用しています。

しかし、アドインでない場合は、他に、Win32 APIで、iniファイルを置いたり、CustomDocumentProperties を使用したり、SaveSetting で、レジストリに置いたりしています。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
dllアドインやcomアドインではないので、通常の方法でよかったのですね、知りませんでした。

#2の方のところにもかいたのですが、ほぞんされませんでした。

お礼日時:2006/12/20 07:27

こんにちは。



>Excelシートにデータを入力して…という方法は使えません。
>(上記のものをアドインとして組み込んでいるため。)

とのことですが、アドインといっても、普通のエクセルブックと同じように、
シートは存在し、そこにデータを書き込んだり、読み出したりすることは可能ですよ。

VBEの画面でアドインブックのプロパティを確認すると、IsAddinというプロパティがあります。
このプロパティがTRUEに設定されているのが、アドインブックで、
FALSEに設定されているのが普通のエクセルブックです。
試しにIsAddinをFALSEに変えてから、エクセルに戻ると、アドインブックの
シートが見えているはずです。

ですから、
Workbooks("Book1.xla").Sheets("Sheet1").Range("A1").Value="○×△"
のような感じで、通常のブックと同じようにアドインブックのオブジェクトに
アクセスして、値を書き込んでおけば良いと思います。
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2006/12/20 07:26

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

    • good
    • 0
この回答へのお礼

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

テキストファイルに書き出すのはどのような方法で行えばよろしいのでしょうか?

お礼日時:2006/12/20 07:24

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

このQ&Aを見た人はこんなQ&Aも見ています