Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4643 / 13646 ツリー ←次へ | 前へ→

【55448】変数指定したファイルのクローズ アルディー 08/5/4(日) 18:19 質問[未読]
【55450】Re:変数指定したファイルのクローズ neptune 08/5/4(日) 20:17 回答[未読]
【55451】Re:変数指定したファイルのクローズ りん 08/5/4(日) 20:19 回答[未読]
【55452】Re:変数指定したファイルのクローズ アルディー 08/5/4(日) 21:00 お礼[未読]

【55448】変数指定したファイルのクローズ
質問  アルディー  - 08/5/4(日) 18:19 -

引用なし
パスワード
   はじめまして
VBA初心者のものですが、宜しくお願い致します。
変数指定(ファイル名)でオープンしたファイルを上書きせずにクローズ
したいのですが、下記の記述ではエラーとなってしまいます。
どの様にしたらクローズできるのでしょうか?
お力をお貸し下さい。

Sub Macro1()
  Dim ファイル名 As String  
  ファイル名 = Sheets("メニュー").Range("E9")
  Workbooks.Open Filename:=ファイル名
         ・
         ・
         ・
Workbooks("ファイル名").Close SaveChanges:=False
End Sub

【55450】Re:変数指定したファイルのクローズ
回答  neptune  - 08/5/4(日) 20:17 -

引用なし
パスワード
   ▼アルディー さん:
こんにちは

>Workbooks("ファイル名").Close SaveChanges:=False
変数は""で括ってはいけません。「ファイル名」と言う文字列になってしまい、
変数ではなくなります。

>VBA初心者のものですが、宜しくお願い致します。
みんな最初は初心者ですが、基本的な文法は自分で勉強する他ありません。

【55451】Re:変数指定したファイルのクローズ
回答  りん E-MAIL  - 08/5/4(日) 20:19 -

引用なし
パスワード
   アルディー さん、こんばんわ。

>したいのですが、下記の記述ではエラーとなってしまいます。
>Sub Macro1()
>  Dim ファイル名 As String  
>  ファイル名 = Sheets("メニュー").Range("E9")
>  Workbooks.Open Filename:=ファイル名
ファイル名を""で囲むと、ファイル名という名前のブックを指定していることになるのでエラーになります。
また、だいたいの場合、ファイル名にはフルパスファイル名(例:C:\Test\Book1.xls")が入っているでしょうから、
Workbooks(Dir(ファイル名)).Close SaveChanges:=False
でエラーにはならないとは思いますが(「保存しますか?」のアラートが出る可能性はあります)、
オブジェクト変数にセットする方がいろんな処理で使いやすくなります。

Set wb = Workbooks.Open(Filename:=ファイル名) 'セット
         ・
      (何らかの作業)
         ・
wb.Saved = True '保存したふり
wb.Close SaveChanges:=False '閉じる

【55452】Re:変数指定したファイルのクローズ
お礼  アルディー  - 08/5/4(日) 21:00 -

引用なし
パスワード
   neptuneさん、りんさん

ご回答ありがとう御座いました。
先ほど「"  "」を削除し、ファイルのクローズを確認しました。
初歩的なエラーでお恥ずかしい次第です。
少しでも皆さんに近づける様、勉強して行きたいと思います。
今後とも宜しくお願い致します。

4643 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free