Excel VBA質問箱 IV

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

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


10953 / 13644 ツリー ←次へ | 前へ→

【18965】ファイルが閉じられない row 04/10/17(日) 23:20 質問[未読]
【18968】Re:ファイルが閉じられない Asaki 04/10/18(月) 9:14 回答[未読]
【18976】Re:ファイルが閉じられない row 04/10/18(月) 14:29 お礼[未読]
【18970】Re:ファイルが閉じられない Jaka 04/10/18(月) 13:22 発言[未読]
【18977】Re:ファイルが閉じられない row 04/10/18(月) 14:30 お礼[未読]

【18965】ファイルが閉じられない
質問  row  - 04/10/17(日) 23:20 -

引用なし
パスワード
   皆さんこんばんは、お知恵を貸してください

エクセルファイルを開いて、文字が赤だったら判定する所で
開いたファイルを閉じたいのですが、失敗します。

以下が問題の所なのですが・・・

Workbooks.Open FNAME(i)
If Worksheets("入局情報表様式").Cells(1, 3).Font.ColorIndex = 3 Then
 判定(i) = 1
End If
Workbooks(FNAME(i)).Close SaveChanges:=FalseClose

いろいろ書いたのですが、実行中のエクセルファイルまで
閉じられちゃったりして、うまく行きません。

なぜなのでしょうか?

【18968】Re:ファイルが閉じられない
回答  Asaki  - 04/10/18(月) 9:14 -

引用なし
パスワード
   こんにちは。

>FalseClose
というのが良く分かりませんが、
> Workbooks(FNAME(i)).Close SaveChanges:=FalseClose
Activeworkbook.Close SaveChanges:=False
だとどうでしょうか?

【18970】Re:ファイルが閉じられない
発言  Jaka  - 04/10/18(月) 13:22 -

引用なし
パスワード
   こんにちは。

▼row さん:
>エクセルファイルを開いて、文字が赤だったら判定する所で
>開いたファイルを閉じたいのですが、失敗します。
>
>以下が問題の所なのですが・・・
>
> Workbooks.Open FNAME(i)
          ↑ 開く時は、フルパスですが、

> Workbooks(FNAME(i)).Close SaveChanges:=FalseClose
        ↑ 開いたファイルは、「××.xls」とファイル名だけになります。
          だから、ファイル名だけにしてやれば良いです。
 Workbooks(dir(FNAME(i)).Close (False)

>いろいろ書いたのですが、実行中のエクセルファイルまで
>閉じられちゃったりして、うまく行きません。
 これは、原因が良く解りません。実行中のファイルですよね?
 F8ステップ実行して、変数名など確認してみたりしてみてください。
 これだけ見るとバグっぽくも見えますが、
 単に落ちている可能性も無いわけではないと思います。

配列にどうな風にかきこまれているか解らないので、いいかげんな発言かも....。

【18976】Re:ファイルが閉じられない
お礼  row E-MAIL  - 04/10/18(月) 14:29 -

引用なし
パスワード
   ▼Asaki さん:
>こんにちは。
>
>>FalseClose
>というのが良く分かりませんが、
>> Workbooks(FNAME(i)).Close SaveChanges:=FalseClose
>Activeworkbook.Close SaveChanges:=False
>だとどうでしょうか?

この方法で、解決しました!

貴重な時間を、お知恵を頂き
ありがとうございました。

【18977】Re:ファイルが閉じられない
お礼  row E-MAIL  - 04/10/18(月) 14:30 -

引用なし
パスワード
   ▼Jaka さん:
>こんにちは。
>
>▼row さん:
>>エクセルファイルを開いて、文字が赤だったら判定する所で
>>開いたファイルを閉じたいのですが、失敗します。
>>
>>以下が問題の所なのですが・・・
>>
>> Workbooks.Open FNAME(i)
>          ↑ 開く時は、フルパスですが、
>
>> Workbooks(FNAME(i)).Close SaveChanges:=FalseClose
>        ↑ 開いたファイルは、「××.xls」とファイル名だけになります。
>          だから、ファイル名だけにしてやれば良いです。
> Workbooks(dir(FNAME(i)).Close (False)
>
>>いろいろ書いたのですが、実行中のエクセルファイルまで
>>閉じられちゃったりして、うまく行きません。
> これは、原因が良く解りません。実行中のファイルですよね?
> F8ステップ実行して、変数名など確認してみたりしてみてください。
> これだけ見るとバグっぽくも見えますが、
> 単に落ちている可能性も無いわけではないと思います。
>
>配列にどうな風にかきこまれているか解らないので、いいかげんな発言かも....。

エラーになって止まってしまいましたが、
解決しましたので、参考になりました。

dirという手段もあったのですね、勉強になります。

ありがとうございました!

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