天使と悪魔選手権

助けてください。

NASに保管してある複数のエクセルファイルの印刷範囲を一括で変更できないかと考えおります。

ファイル数は、4000個であり、保管場所はNAS内にバラバラで保管されております。
エクセルファイルのフルパスの一覧は取得できております。

エクセルファイルは、複数のシートがあり、印刷範囲を変更したいシート名は、「凡例」もしくは、「図面記号」と統一化されている状態です。
※他のシートの印刷範囲は、変更しない。
印刷範囲は、A1〜Z80へ固定したいと思います。

VBA等で、一括処理できる方法はないでしょうか?

〈流れ〉
エクセルファイルのフルパスの一覧表から、エクセルファイルを起動

特定のシートの印刷範囲を変更

エクセルファイルを閉じる

…の繰り返し処理

A 回答 (1件)

こんにちは



>一括処理できる方法はないでしょうか?
ご提示の流れで処理すればできるものと思います。

詳細の内容がわからないので、1ファイル分の処理手順の一例を載せておきます。
※ エラーチェック・エラー処理等は行っていませんのでご注意。

Sub Sample()
Dim wb As Workbook, sh As Worksheet

Const path = "G:\hoge\fuga\piyo.xlsx" '対象ファイルパス

If Dir(path) <> "" Then
Workbooks.Open (path)
Set wb = ActiveWorkbook

For Each sh In wb.Worksheets
If sh.Name = "凡例" Or sh.Name = "図面記号" Then
sh.PageSetup.PrintArea = ""
sh.PageSetup.PrintArea = "$A$1:$Z$80"
End If
Next sh

Application.DisplayAlerts = False
wb.Close SaveChanges:=True
Application.DisplayAlerts = True
End If
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます!!

お礼日時:2019/04/17 18:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!