Excel VBA質問箱 IV

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

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


38021 / 76738 ←次へ | 前へ→

【43861】Re:文字列の置換
発言  かみちゃん  - 06/10/27(金) 7:09 -

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

>Aというフォルダの中にある数十個のエクセルファイルを一つずつ開いて
>文字列の置換を行っています。
>もっと手際のよい方法があるのではないかと自動記録でマクロを作って
>操作をしてみましたが、自動記録ではどうしてもファイルを開いて
>置換が終わればファイルを閉じて・・・という操作は必要になります。

ファイルを開いては閉じてという方法以外に何かないか?ということでしょうか?
マクロが書かれたブックと同じフォルダに対象ブックを入れておく方法であれば、
以下のような感じでできます。

置換処理は、入っていませんので、ご自身で入れてみてください。

Sub Sample()
 Dim ws As Worksheet
 Dim wb As Workbook
 Dim strPath As String
 Dim strFileName As String

 Set ws = ActiveSheet
 'ブックが格納されているフォルダ(マクロブックと同じフォルダの場合)
 strPath = ThisWorkbook.Path
 strFileName = Dir(ThisWorkbook.Path & "\*.xls")
 Do Until strFileName = ""
  If strFileName <> ThisWorkbook.Name Then
   'ブックを開く
   Set wb = Workbooks.Open(strPath & "\" & strFileName)
   
   '開いたブックをのすべてのシートをひとつずつアクティブにする
   For Each ws In Worksheets
    ws.Activate
    
    '〜アクティブシートに対する各処理〜
   
   Next
   
   '開いたブックを上書き保存する
   wb.Save
   '開いたブックを上書き保存しない
   'wb.Saved = True
   '開いたブックを閉じる
   wb.Close
  End If
  strFileName = Dir()
 Loop
 MsgBox "終了しました"
End Sub

0 hits

【43860】文字列の置換 miwa 06/10/27(金) 2:03 質問
【43861】Re:文字列の置換 かみちゃん 06/10/27(金) 7:09 発言
【43866】Re:文字列の置換 miwa 06/10/27(金) 9:48 お礼
【43864】Re:文字列の置換 miwa 06/10/27(金) 9:38 質問

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