- ベストアンサー
エクセル VBA マクロを動かしたときに元々開いているファイルを閉じる・・・
いつも皆様には大変お世話になっております。 早速質問ですが、 「もしこのマクロが動く時点で他のExcelファイルが開いていたら、警告の上 自ファイルを閉じる、開いていなければ~実行」 という処理をかませたいと思っております。 ここの判定の方法がわかりません。(既にExcelが起動されていたら、でもいいのでしょうか。。。?) 下記のようなマクロを組んでいるので 他のファイルが開いていると厳しい状況です。 bname = "C:\" & Format(Range("q1").Value, "yyyymmdd") & "サンプル" & ".xls" ActiveWorkbook.SaveAs bname Workbooks.Open "C:\サンプル.xls" Workbooks(1).Close 本当は"yyyymmdd"&"サンプル"&".xls"ファイルだけ閉じられればいいのですが、自分の知識では上記のような形でしか動かせません;; もしご存知の方、ご教示ください。よろしくお願いします
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
かなりVBAを勉強されているようですので、ヒントだけ。 要するにWorkbookを順にアクティブにし、アクティブなWorkbookの 名前が該当すれば閉じてしまえばいいんです。 IF ActiveWorkbook.name ="なんたら" then ActiveWorkBook.close こんな感じですかね。ステートメントは合ってるかどうか分かりませんが、 発想はコレでいけるはず。
その他の回答 (1)
- hana-hana3
- ベストアンサー率31% (4940/15541)
開いているブックの数は下記で判別可能です。 Workbooks.Count 自分だけなら1です。
お礼
なるほど~後はcount とifで何とかなりそうです。 ありがとうございました。
お礼
早速のお返事ありがとうございます! 言われると なるほど!!って感じなのですがなかなか頭に思い浮かばないものですね;; 早速試してみます ありがとうございました