Tsu.-Morrow!

アクセスカウンタ

zoom RSS 実現できても理解が足りなくてモヤモヤ(Access VBA)

<<   作成日時 : 2018/06/29 23:48   >>

ガッツ(がんばれ!) ブログ気持玉 1 / トラックバック 0 / コメント 2

最近このブログ更新をサボっていて記事数が少ない。
仕事が忙しい上にブログ更新よりもやりたいことがいろいろあって、
さらに夜やたらと・・・眠い!
書くネタはいろいろあるが、一旦サボりだすとサボり癖がつくのだ。

さて言い訳はこれくらいにしておいて・・・
仕事で使うためのAccess VBAコードを趣味レベルで書いている。
あるクエリの結果を既存Excelファイルの指定シートに、指定のセルを基点として書き出すというものだが、
下記「プロシージャA」のように記述すると目的通りの書き出しができるものの、
Excelのダイアログ「保存しますか?」が出てしまう。
今回は無条件に保存してほしいので「保存しますか?」を出したくないのだ。
そこで他人のQ&Aなどを参考に下記「プロシージャB」のように記述したら「保存しますか?」が出なくなった。
とりあえず目的の機能は実現できるようになったのだが、なぜうまくいくのか理解できていなくてモヤモヤしている。
まだまだ勉強が必要なのだが、取り急ぎ仕事をこなさないといけないので理解が後回しになりそう。

プロシージャA(保存しますか?が出る)
-------
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim objEXE As Object

Set db = CurrentDb
Set rs = db.OpenRecordset("クエリ1")
Set objEXE = Excel.Application

objEXE.Workbooks.Open ("Excelファイル名")
objEXE.Worksheets("シート名").Select
objEXE.Cells(5, 1).CopyFromRecordset rs
objEXE.Quit

Set rs = Nothing
Set db = Nothing
-----

プロシージャB(保存しますか?が出ない)
-----
Dim db As DAO.Database
Dim rs As DAO.Recordset
Dim objEXE As Object
Dim objWB As Object

Set db = CurrentDb
Set rs = db.OpenRecordset("クエリ1")
Set objEXE = New Excel.Application
Set objWB = objEXE.Workbooks.Open("Excelファイル名")

objWB.Worksheets("シート名").Select
objEXE.Cells(5, 1).CopyFromRecordset rs
objWB.Save
objWB.Close False
objEXE.Quit

Set rs = Nothing
Set db = Nothing
Set objEXE = Nothing
-----







テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ
気持玉数 : 1
ガッツ(がんばれ!)

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(2件)

内 容 ニックネーム/日時
お元気なようでホッとしました。
馴染みのブログが更新されてないと、何かあったのかと不安な気持ちになったりして〜
難しい事をされてるんですね〜
仕事も趣味も、やりたいことがたくさんあるって、素晴らしいです。
お疲れのでませんように〜
たぁくんママ
2018/06/30 07:31
たぁくんママ さん>
ほぼ毎日の更新だったので、どうしたのかとおもいますよね。
いろいろやりたいことがあるのはいいのですが、時間の使い方が下手なのが困ります。
マイペースでやっています。
Tsu.-Morrow!
2018/07/01 02:11

コメントする help

ニックネーム
本 文
実現できても理解が足りなくてモヤモヤ(Access VBA) Tsu.-Morrow!/BIGLOBEウェブリブログ
文字サイズ:       閉じる