|
▼小僧 さん:
こんにちは。お返事が遅くなってすみません。
また、丁寧なご回答ありがとうございます。
>テーブルにある 1行のデータが Record
>Recordsetは、それの「セット」なんで、データ群ってところでしょうか(笑)
>
>
>> Set rst = DB.OpenRecordset("Q_社保エクスポート用")
>
>Q_社保エクスポート用 というテーブル(クエリ)のデータを
>変数:rst の中にごっそりと納めてしまう、という命令です。
なんとなくイメージが湧きました。(なんとなくですみません;)
変数は数字や文字を格納するものという頭があったので、こういうデータをごっそり納められる変数があるということが、どうしても理解しにくかったのです。
>
>> Dynaset タイプもヘルプで調べてみたんですが、
>> どういう場合にこのタイプがいいのかまで理解できませんでした・・。
>
>データの扱いを大きくわけると「参照」「変更」の2種類があります。
>さて、今回は変数の中に入れたデータをどのように扱いたいのでしょうか。
>
>ヘルプの説明で様々なType、Optionがあるのは
>お解かりになったと思われますが、
>それを全て説明すると、掲示板での応答では大変な事になってしまいます。
>
>ものすごくアバウトな説明ですが、
>
>参照時:dbOpenSnapshot
>変更時:dbOpenDynaset
>
>を type に指定すると汎用的に使えそうですね。
今回は、変数に入れたデータをそのままエクセルに出力したいので、参照時ということになるのですね?
変更時というのは、変数に入れたデータをさらに加工したい場合 ということになるのでしょうか??
今のところ、必要ない(というよりどういう場合使用したらいいのかよくわかってません;)ので、dbOpenSnapshotで開いたらいいということにしておきます(笑)
>
>
>> でも、何回か試していると、なぜか、エクセルが
>> 読み取り専用で開かれたりします。
>> どこかおかしい記述があるんでしょうか?
>
>コードを色々テストしている最中に、
>エラーで止まってしまった事はありませんでしたか?
エラーで止まりはしないのですが、読み取り専用になっていることがたびたびありました。きちんと閉じてから、コードを試していたのですが。
>タスクマネージャを起動してみると、
>Excelが見えないのに、Excel.exe が起動している事があります。
>
>これは
>
>> Set xlsApp = CreateObject("Excel.Application")
>
>で呼び出した Excelのインスタンスが解放されずに
>非表示の状態で立ち上がったままになっており、
>
>> Set xlsWkb = xlsApp.Workbooks.Open(MyFile)
>
>で起動した時に 2重起動になっている可能性がありえます。
>>プログラムが安定するまで、
>
> Set xlsApp = CreateObject("Excel.Application")
> xlsApp.Visible = True
>
>の様に、Excel のインスタンスを作ったらすぐに表示する様にしておくと、
>上記のトラブルが減るかもしれませんね。
アドバイスのとおり、すぐ表示するようにしました。
読取専用で開いたりということはなくなりました。
で、質問なのですが、安定するまで。。とはどのくらいなのでしょう?
しばらく使ってみて、変な動きがなくなったら、xlsApp.Visible = True をはずしても大丈夫ということですか??
こだわるわけではないのですが、できれば、最終的には、非表示の状態でエクセルに貼り付けて、そのあと、エクセルを開きたいなと思っています。
一連のコマンドの中で、上記のような動きをするのは不可能なのでしょうか?
エクセルへの貼り付けまでをひとつのコマンドにして、エクセルを開くのは別コマンドにしたほうがよいのでしょうか?
アドバイスに従って、いろいろなコードを試しているうちに頭がぐちゃぐちゃになってきまして、質問のほうも要領を得ないものになっていますね。。
すみません。
よろしければ、もう少しおつきあいをお願いします。
|
|