Excel VBA質問箱 IV

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

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


58222 / 76732 ←次へ | 前へ→

【23242】Re:複数のファイルの作業
回答  かみちゃん  - 05/3/17(木) 7:08 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>いざやってみると、「フォルダが読み取り専用です」と
>メッセージが出て止まってしまいました。

メッセージが出た箇所はわかりますでしょうか?
 Workbooks.Open ActiveWorkbook.Path & ListBox1
で、出ると思いますが、これは、ListBox1だけでは何番目のデータかがわからないからです。
 MsgBox ListBox1
としてみてください。データが取得できていないことがわかると思います。

そこで・・・

>Do While ActiveWorkbook.Path & ListBox1.Value <> ""
>
>'最初に開いているファイルはそのまま作業する
>If ListBox1.Value = open_file Then  
>  data_drain  '作業マクロ
>Else  '同フォルダ内のエクセルファイル
>  Workbooks.Open ActiveWorkbook.Path & ListBox1
>  data_drain  '作業マクロ
>  ActiveWorkbook.Close False '保存せずに閉じる
>End If
>  xlname = Dir
>Loop

を以下のようにしてみてください。
With ListBox1
 For i = 0 To .ListCount - 1
  If .List(i) = open_file Then
   data_drain  '作業マクロ
  Else  '同フォルダ内のエクセルファイル
   Workbooks.Open ActiveWorkbook.Path & "\" & .List(i)
   data_drain  '作業マクロ
   ActiveWorkbook.Close False '保存せずに閉じる
  End If
 Next
End With

data_drainがどういう処理をしているのかがわからないのですが、値を取得するだけだと、ファイルを開く必要はないと思います。
また、さきほども書きましたが、ListBoxをなぜ使わないといけないのかがわかりません。
0 hits

【23197】複数のファイルの作業 あいんすと 05/3/16(水) 0:58 質問
【23199】Re:複数のファイルの作業 かみちゃん 05/3/16(水) 6:35 発言
【23236】Re:複数のファイルの作業 あいんすと 05/3/16(水) 23:24 質問
【23241】Re:複数のファイルの作業 かみちゃん 05/3/17(木) 6:49 回答
【23242】Re:複数のファイルの作業 かみちゃん 05/3/17(木) 7:08 回答
【23254】フォルダの有無 あいんすと 05/3/17(木) 13:08 質問
【23255】Re:フォルダの有無 かみちゃん 05/3/17(木) 13:52 回答
【23273】Re:フォルダの有無 あいんすと 05/3/18(金) 0:12 お礼

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