
1000ブック以上のExcelファイルが手元にありまして、これらの印刷設定をすべて変更しなければならなくなりました。
(実際に印刷はしません。設定をA3横1枚に合わせるだけです)
手作業で1ブックずつやっていくとかなりの手間なのですが、一括で設定を変更し保存する方法はないでしょうか?
なお1ブックにつきSheet1・Sheet2・Sheet3がありますが、
2と3は空シートで、設定を変えたいのはSheet1だけです。
また、必要ならファイル名を連番にすることもできます。
ご教示のほど、よろしくお願いいたします。
No.4ベストアンサー
- 回答日時:
No1.です。
つい、つられて
> (2) 1000ブック以上のExcelファイルは同じフォルダにおき、1からの連番にする。
> 例:12.XLS
などと書きましたが、そんなことをする必要はありません。
少しわかりにくいですが、本文を以下のようにすれば元のファイル名のままで処理できます。
Sub 大量ブックの印刷書式を変更()
Const パス = "A:\Bcde\ナントカカントカ\" ' ★★★ 実際の名前に直して下さい ★★★
Dim ファイル名 As String
ファイル名 = Dir(パス & "*.xls")
Do While ファイル名 <> ""
ブック毎に印刷設定を変更 パス & ファイル名
ファイル名 = Dir()
Loop
End Sub
※ なお、もしブックの中に Sheet1 を持たないものがあれば
そこでエラーになります。その場合はエラー対応のロジックを追加する必要があります。
No.3
- 回答日時:
回答2は、ごめんなさい、ほかのご質問への回答を投稿してしまいました。
大変失礼しました。
ちなみにこちらのご質問では、
1.新しいマクロの記録で1つ、サンプルのブックのページ設定変更操作をマクロに記録する
記録先は「個人用マクロブック」に
ショートカットキーを登録しておくとよい
上書き保存してブックを閉じるところまでマクロにとる
2.対象ブックをどんどん開いて、1で記録したマクロをショートカットキーでばしばしと走らせる
ぐらいの感じでも。
#ただし
実際には、ページ設定の操作を自動記録マクロに録ると、よけいなアクションまで記録されてしまって応答の遅いマクロになります。
マクロを編集し、必要な命令だけに抜き出して実行させるとベターです。
No.2
- 回答日時:
手順の組み立ては次のとおりになります。
1.マスタシートのA列の上から下までのセルをFor Next巡回する
2.各セルのC列が1でなかったらスルーする、1なら次の作業を行う
3.各列のADE列のセルの内容を、雛形シートの所定のセルに転記する
4.拾ったマクロでアドレス設定、メールの本文整形、Outlookで送出まで行う
5.1に戻って繰り返す。
サンプル:
sub Macro1()
dim h as range
’1
for each h in worksheets("宛先マスタ").range("A2:A" & worksheets("宛先マスタ").range("A65536").end(xlup).row)
’2
if h.offset(0, 2) = 1 then
’3
worksheets("送信文章").range("A17") = h
worksheets("送信文章").range("A18") = h.offset(0, 3)
worksheets("送信文章").range("A19") = h.offset(0, 4)
’4
メール本文の生成と送出
’5
End If
Next
End Sub
No.1
- 回答日時:
もしVBAを使ってよければ、これでいいと思います。
前提条件は以下の4点です。
(1) 任意のブックに下記プログラムをコピーする。
もしその方法をご存じなければ、また質問して下さい。
(2) 1000ブック以上のExcelファイルは同じフォルダにおき、1からの連番にする。
例:12.XLS
(3) 通常使うプリンターはA3サイズが使えるものに指定しておく。
(4) 試す前に、かならずバックアップを取る。
Sub 大量ブックの印刷書式を変更()
Const パス = "A:\Bcde\ナントカカントカ\" ' ★★★ 実際の名前に直して下さい ★★★
Dim 繰返し As Integer
For 繰返し = 1 To 1000' ★★★ 実際の数に直して下さい ★★★
ブック毎に印刷設定を変更 パス & 繰返し & ".xls"
Next 繰返し
End Sub
Sub ブック毎に印刷設定を変更(ブック名 As String)
Dim ブック As Workbook
Set ブック = Application.Workbooks.Open(ブック名)
With ブック.Worksheets("Sheet1").PageSetup
.Orientation = xlLandscape
.PaperSize = xlPaperA3
End With
ブック.Save
ブック.Close
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【Excel】複数シートがあるエクセルデータで片面印刷と両面印刷設定がシートごとに入 1 2023/03/10 15:25
- Excel(エクセル) Excelであるシートだけ印刷できない 1 2022/04/01 09:04
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- その他(プログラミング・Web制作) pythonでクラスで複数のメソッドを利用する方法 2 2022/04/15 04:17
- CAD・DTP A3のWORDファイルをTIFFに変換したい 6 2022/12/15 16:00
- Excel(エクセル) Excelのマクロコードについて教えてください。 1 2022/03/27 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2023/08/08 11:02
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/03 13:18
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Visual Basic(VBA) 【VBA】印刷マクロのループ処理が反映されません 3 2022/08/09 02:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
VBAで保存しないで閉じると空の...
-
【Excel VBA】マクロでExcel自...
-
エクセルのvbaにて thisworkboo...
-
エクセル関数>参照ファイル名...
-
マクロの保存先、開いてるすべ...
-
エクセルを開いて文字を打つ際...
-
【Excel】特定セルの内容をテキ...
-
EXcelのマクロで相対パスでファ...
-
名前の変わるブックをアクティ...
-
エクセルで未保存に対するメッ...
-
【マクロ】マクロが保存されて...
-
(VBA一部使用中)手作業部分を減...
-
複数のExcelファイルの印刷設定...
-
Excelのマクロコードについて教...
-
[フィルターオプションの設定]...
-
ファイルごとにセルの移動方向...
-
EXCELマクロで、開いてはいるが...
-
エクセルで複数ファイルのセル...
-
excelで直前に参照していたブッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAで保存しないで閉じると空の...
-
エクセル関数>参照ファイル名...
-
【Excel VBA】マクロでExcel自...
-
マクロの保存先、開いてるすべ...
-
エクセルのvbaにて thisworkboo...
-
EXcelのマクロで相対パスでファ...
-
【Excel】マクロの保存先について
-
エクセル;相対パスを絶対パスへ...
-
EXCELブックが勝手に開いて困っ...
-
エクセルで未保存に対するメッ...
-
excelで直前に参照していたブッ...
-
EXCELのボタンによるマクロの登...
-
ファイル名変更後も、マクロを...
-
エクセルで使用期限付きのブッ...
-
【Excel】特定セルの内容をテキ...
-
複数のExcelファイルの印刷設定...
-
エクセルを開いて文字を打つ際...
-
EXCELマクロで、開いてはいるが...
-
エクセルで複数ファイルのセル...
-
[フィルターオプションの設定]...
おすすめ情報