アプリ版:「スタンプのみでお礼する」機能のリリースについて

2つの別々のファイルを開いて片方からもう片方にコピーして
保存して終了する。(両方とも閉じる)
というマクロを作ったのですが
コピー終了後に実行したマクロ付きのエクセルも閉じてデスクトップ上には何も開いていない状態にしたいのですがworkbookのところに
下記の命令を記述してもうまくいきません。
Application.Run "XXXXXX"

ThisWorkbook.Save
ThisWorkbook.Saved = True
If Workbooks.Count <= 1 Then Application.Quit
ThisWorkbook.Close False
マクロ付きのエクセルも一旦は閉じるのですがその後に
別の白紙のブックが開いてしまうのです。
続けて他のマクロをスケジュールで実行したいのですが実行時に
「既にエクセルが開いています」みたいな警告が表示され
実行できません。
エクセルを完全に閉じるようにするにはどうしたらいいのでしょうか?

A 回答 (2件)

こんなかんじでいけると思います。



ThisWorkbook.Save
'ThisWorkbook.Saved = True
If Workbooks.Count = 1 Then
Application.Quit
Else
ThisWorkbook.Close
End If

ただ、別インスタンスで開いているブックは
感知していません。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
早速複数のPCで試してみたところ、うまくいったPCもあれば
同じように別の白紙のブックが開くPCもありました。
PC毎に違う現象が起きるということはエクセルの設定が
何か問題になっているのでしょうか?

お礼日時:2009/02/23 16:17

見落としてました。


↓はどのようなマクロを走らせてるのでしょう?
これが不具合の原因かもしれません。

>Application.Run "XXXXXX"
    • good
    • 0
この回答へのお礼

xxxxxxは別シートのデータを貼り付けるマクロです。
マクロ自体は問題ないと思うのですが・・・
もう少し勉強してみます。
ご回答どうも有難うございます。

お礼日時:2009/03/14 11:20

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