Excel VBA質問箱 IV

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

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


72996 / 76738 ←次へ | 前へ→

【8225】Re:メッセージボックス出力と同様のイベントとは?
回答  bykin  - 03/10/4(土) 19:10 -

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

>「A.xls をそのまま開いて」は、処理中にアプリケーションが落ちてファイルが
>壊れることを想定して、元のファイルは綺麗に残したのですが・・・。
>不要な心配なのでしょうか?

A.xls を開いて、すぐに別名を付けて保存する。
その後は必要な処理をして、最後に上書き保存する。
・・・ってのをループにすれば A.xls を壊す心配もほとんど無いんとちゃいまっか?
マクロが書いてある制御用のブックと同じフォルダに入ってる Book1.xls〜Book3.xls
を順番に開いて Book1_new.xls〜Book3_new.xls として保存してから処理をするって
コードを書いてみました。
既に同名のファイルが存在する場合のチェックは省略してます。

Sub test2()
  Dim ArrayBooks As Variant
  Dim i As Integer
  
  Application.ScreenUpdating = False
  ArrayBooks = Array("Book1", "Book2", "Book3")
  For i = LBound(ArrayBooks) To UBound(ArrayBooks)
    With Workbooks.Open(ThisWorkbook.Path & "\" & ArrayBooks(i) & ".xls")
      .SaveAs ThisWorkbook.Path & "\" & ArrayBooks(i) & "_new.xls"
    
      'ここで必要な処理を実行(↓例)
      .Worksheets(1).Range("A1").Value = Now()
    
      .Save
      .Close
    End With
  Next
  Application.ScreenUpdating = True
End Sub

ループ内の処理のスピードアップについては、↓これが参考になるかも・・・
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=8037;id=excel

ま、なんにしても作業の前にはデータのバックアップってのが基本ですわなー
ほな。

0 hits

【8210】メッセージボックス出力と同様のイベントとは? 初心者 03/10/3(金) 19:46 質問
【8211】Re:メッセージボックス出力と同様のイベントとは? INA 03/10/3(金) 19:54 回答
【8212】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/3(金) 20:10 質問
【8213】Re:メッセージボックス出力と同様のイベントとは? Kein 03/10/3(金) 20:50 回答
【8214】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/3(金) 21:26 質問
【8217】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/3(金) 22:23 回答
【8220】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/4(土) 0:55 発言
【8225】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/4(土) 19:10 回答
【8259】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/6(月) 12:06 お礼
【8273】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/6(月) 18:15 回答
【8275】Re:メッセージボックス出力と同様のイベントとは? 初心者 03/10/6(月) 19:52 発言
【8277】Re:メッセージボックス出力と同様のイベントとは? bykin 03/10/6(月) 21:08 回答
【8287】bykinさんに一票 しのしの 03/10/7(火) 12:29 回答
【8291】Re:bykinさんに一票 初心者 03/10/7(火) 15:05 質問
【8292】FileFormatですか しのしの 03/10/7(火) 16:03 回答
【8293】サンプル変でしたね。すいません。 しのしの 03/10/7(火) 16:07 回答
【8300】Re:サンプル変でしたね。すいません。 初心者 03/10/7(火) 19:09 お礼

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