
マクロの実行をいちいちファイルを開かずに行いたい場合には、どうすればよいのでしょうか。
フォルダの中に同じフォーマットのファイルが数十個から数百個あります。
作業内容は、ファイルの中の一部分を修正する、などです。フォルダ内の全てのファイルに同じ作業をします。
これを、下記のマクロでやっているのですが、今は、
ファイルを開く→下記の別ファイルで保存したマクロを実行し、修正を行う、を繰り返してやっています。
例えば、こんな作業をします。
Range("B2").Select
ActiveCell.FormulaR1C1 = "変更しました"
ActiveCell.Characters(1, 2).PhoneticCharacters = "ヘンコウ"
Range("D11").Select
Sheets("修正").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "変更しました"
ActiveCell.Characters(1, 2).PhoneticCharacters = "ヘンコウ"
Range("A6:B10").Select
Selection.ClearContents
End Sub
これだと、1ファイルずつ作業をしないといけないので、出来ればフォルダ内にあるエクセルファイルに対し一括で処理できるようにマクロを実行させたいです。
おそらく上記コードに、前後何かをつけたせばいいのだと思いますが、それが分かりません。これが分かれば、色々応用がきくと思うので教えていただけませんか。
どうぞ宜しくお願い致します。
Office2003
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ADODBやDAOで、ファイルに直接、中身を変更することは可能ですが、実際は、Excelのバイナリファイルを開いています。
オブジェクトを開きますから、オーバーヘッドは掛かります。ただ、こういうワザは掲示板では公開されません。さほど時間的に差がないものを、単にやり方だけにこだわる方法だからだと思うのです。>ActiveCell.Characters(1, 2).PhoneticCharacters = "ヘンコウ"
具体的には、PhoneticCharacters を外部から処理する方法は聞いたことがありません。
データではなく、Workbook の中のRangeオブジェクトに処理を掛けているのだから、ひとつひとつ開かなくては出来ません。また、一括で出来るような方法はありません。
単に、ループして開いて閉じてを繰り返すだけです。それに、シートもひとつならともかく、複数あるなら、今の段階で、人がどう想像するのかは自由でも、質問内容から、コードを書くことは難しいかと思います。
No.2
- 回答日時:
ちょっと書き間違いがあったので訂正。
sub sample1()
dim w as workbook
dim s as string
dim myPath as string
application.screenupdating = false
mypath = "c:\test\"
s = dir(mypath & "*.xls")
do until s = ""
set w = workbooks.open(filename:=mypath & s)
w.worksheets("不明").range("B2").value = "変更しました"
w.worksheets("不明").range("B2").characters(1,2).phoneticcharacters = "ヘンコウ"
w.worksheets("修正").range("A1").value = "変更しました"
w.worksheets("修正").range("A1").characters(1,2).phoneticcharacters = "ヘンコウ"
w.worksheets("修正").range("A6:B10").clearcontents
w.close savechanges:=true
s = dir()
loop
application.screenupdating = true
end sub
失礼しました。
No.1
- 回答日時:
今回のご質問で是非マスターしておいて欲しいのは,次の3点です。
1.あるフォルダの中のファイルを順繰り調べるマクロ
及び,ファイルを開く・保存する・閉じるマクロ
2.マクロで「変数」を使う方法
3.select・selection・activeなんたらを使わないマクロを書けるようになること
sub sample1()
dim w as workbook
dim s as string
dim myPath as string
application.screenupdating = false
mypath = "c:\test\"
s = dir(mypath & "*.xls")
do until s = ""
set w = workbooks.open(filename:=s)
w.worksheets("不明").range("B2").value = "変更しました"
w.worksheets("不明").range("B2").characters(1,2).phoneticcharacters = "ヘンコウ"
w.worksheets("修正").range("A1").value = "変更しました"
w.worksheets("修正").range("B2").characters(1,2).phoneticcharacters = "ヘンコウ"
w.worksheets("修正").range("A6:B10").clearcontents
w.close savechanges:=true
s = dir()
loop
application.screenupdating = true
end sub
それから,ファイルを開かずにファイルの中身を操作する方法は全くありません。
ありがとうございました。
私はマクロは記録マクロで新規に作成し、その後でモジュールを開いて自分が出来る範囲で修正していました。
基礎からちゃんと勉強するべきですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/21 09:42
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/02/21 11:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/06/04 09:39
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/21 13:29
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/21 09:28
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/03/07 14:05
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
このQ&Aを見た人はこんなQ&Aも見ています
-
見学に行くとしたら【天国】と【地獄】どっち?
みなさんは、一度だけ見学に行けるとしたら【天国】と【地獄】どちらに行きたいですか? 理由も聞きたいです。
-
初めて自分の家と他人の家が違う、と意識した時
子供の頃、友達の家に行くと「なんか自分の家と匂いが違うな?」って思いませんでしたか?
-
あなたの「プチ贅沢」はなんですか?
お仕事や勉強などを頑張った自分へのご褒美としてやっている「プチ贅沢」があったら教えてください。
-
この人頭いいなと思ったエピソード
一緒にいたときに「この人頭いいな」と思ったエピソードを教えてください
-
14歳の自分に衝撃の事実を告げてください
タイムマシンで14歳の自分のところに現れた未来のあなた。 衝撃的な事実を告げて自分に驚かせるとしたら何を告げますか?
-
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
VBA EXCEL 開かずにデータ操作
その他(Microsoft Office)
-
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
-
4
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
5
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
6
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
7
Excelマクロをバックグラウンドで動かす方法
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
10
ExcelのVBマクロを、バックグラウンドで動かしたいのです。
Visual Basic(VBA)
-
11
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
12
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
13
VBA:ユーザーフォームのマルチページに色を付けたい。
Word(ワード)
-
14
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
15
VBAで複数のブックを開かずに処理する方法
Visual Basic(VBA)
-
16
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
17
マクロを複数シートに実行するには?
Excel(エクセル)
-
18
メッセージボックスを前面に表示させるには?
Visual Basic(VBA)
-
19
エクセルマクロ実行中に別ファイル作業でのコピペに影響してしまう
Excel(エクセル)
-
20
VBSからエクセルのマクロを起動するがうまく動作しない
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一番好きなみそ汁の具材は?
- ・泣きながら食べたご飯の思い出
- ・「これはヤバかったな」という遅刻エピソード
- ・初めて自分の家と他人の家が違う、と意識した時
- ・いちばん失敗した人決定戦
- ・思い出すきっかけは 音楽?におい?景色?
- ・あなたなりのストレス発散方法を教えてください!
- ・もし10億円当たったら何に使いますか?
- ・何回やってもうまくいかないことは?
- ・今年はじめたいことは?
- ・あなたの人生で一番ピンチに陥った瞬間は?
- ・初めて見た映画を教えてください!
- ・今の日本に期待することはなんですか?
- ・集中するためにやっていること
- ・テレビやラジオに出たことがある人、いますか?
- ・【お題】斜め上を行くスキー場にありがちなこと
- ・人生でいちばんスベッた瞬間
- ・コーピングについて教えてください
- ・あなたの「プチ贅沢」はなんですか?
- ・コンビニでおにぎりを買うときのスタメンはどの具?
- ・おすすめの美術館・博物館、教えてください!
- ・【お題】大変な警告
- ・洋服何着持ってますか?
- ・みんなの【マイ・ベスト積読2024】を教えてください。
- ・「これいらなくない?」という慣習、教えてください
- ・今から楽しみな予定はありますか?
- ・AIツールの活用方法を教えて
- ・最強の防寒、あったか術を教えてください!
- ・歳とったな〜〜と思ったことは?
- ・モテ期を経験した方いらっしゃいますか?
- ・好きな人を振り向かせるためにしたこと
- ・スマホに会話を聞かれているな!?と思ったことありますか?
- ・それもChatGPT!?と驚いた使用方法を教えてください
- ・見学に行くとしたら【天国】と【地獄】どっち?
- ・これまでで一番「情けなかったとき」はいつですか?
- ・この人頭いいなと思ったエピソード
- ・あなたの「必」の書き順を教えてください
- ・14歳の自分に衝撃の事実を告げてください
- ・人生最悪の忘れ物
- ・あなたの習慣について教えてください!!
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルのシートの数を数えた...
-
【マクロ】名前を保存する際に...
-
フォルダ内のexcelファイルを順...
-
エクセル(マクロ)のファイル...
-
ファイルを開かずにマクロを実行
-
エクセルマクロで不特定なファ...
-
データ参照先が別ファイルの場...
-
ファイルの保存場所を変えたら...
-
VBA EXCELファイル選択⇒指定セ...
-
Accessのaccdbファイルを起動で...
-
エクセルのマクロについて教え...
-
Excelのマクロでファイルを開く...
-
Excelファイルがマクロを含むか...
-
【Excel VBA】ファイル名が一...
-
Excel VBA seleniumのedge操作...
-
VBA ふたつの同じ様式シートの...
-
Excelで漢字人名が勝手に並び変...
-
エクセルのxls形式からxlsx形式...
-
vba dirにおけるフォルダ内にあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】名前を保存する際に...
-
フォルダ内のexcelファイルを順...
-
ファイルを開かずにマクロを実行
-
エクセルマクロで不特定なファ...
-
エクセル(マクロ)のファイル...
-
データ参照先が別ファイルの場...
-
フォルダ内のブック全部にパス...
-
エクセル 複数ファイルの一括...
-
VBAでワークブックの名前を変数...
-
【Excel VBA】ファイル名が一...
-
エクセルのシートの数を数えた...
-
vlookup関数の引数を変数で指定...
-
accessフォルダを移動したらフ...
-
ファイルの保存場所を変えたら...
-
エクセルファイルを開く時、関...
-
Accessのaccdbファイルを起動で...
-
VBA EXCELファイル選択⇒指定セ...
-
秀丸:あらかじめ設定した複数...
-
エクセルのxls形式からxlsx形式...
おすすめ情報