S-JIS[2007-05-30]

印刷設定コピーツール

for Excel by Excel2003

Excelで印刷設定を特定のシートから指定されたブック(やシート)にコピーするマクロです。

PageSetup.lzh(18 kBYTE)


以下のような表でブック名やシート名をセットして「印刷設定コピー」マクロを実行すると、コピー元からコピー先へ印刷設定をコピーします。
(コピーするシート数が少なくても、なぜか数秒の時間がかかります…)

  A B C D E
1          
2   印刷設定コピーマクロ      
3          
4   コピー元ブック名 コピー元シート名    
5   book1.xls Sheet1    
6          
7   コピー先ブック名 コピー先シート名 中央フッター  
8   book2.xls      
9   book3.xls Sheet2    
10   book3.xls Sheet3 1-1  
11          

コピー元を指定しなかった場合は、コピー実行開始時のアクティブシートをコピー元シートとします。
コピー元設定マクロ

コピー先でブック名のみを指定した場合、対象ブック内の全シートにコピーします。
コピー先シート名のみを指定した場合、コピー元と同じブックのシートとして扱います。
コピー先設定マクロ

中央フッターを指定しないと、コピー元のフッターがそのままコピー先に反映されます。
これがあるのは、中央フッターにページ番号を自由に指定することを想定しているからです。
右フッターとかに指定したい場合は、マクロを改造して下さい(爆)


ブック名・シート名をいちいち手入力するのは面倒なので、アクティブなシートからブック名・シート名を自動設定するマクロも用意しました。

コピー元シート設定
コピー元にしたいシートをアクティブにしてメニューバーからこのマクロを実行すると、コピー元に名前を設定します。
コピー先シート列挙
コピー先にしたいブックをアクティブにしてメニューバーからこのマクロを実行すると、コピー先に名前(複数)を設定します。

マクロの記録を使って印刷設定を行うと、ActiveSheet.PageSetupに対して色々設定しているのが分かる。
当ツールでも、その内容をそのまま使っているだけ。
(なので、バージョン違いで動かない場合でも適当にPageSetupのプロパティーを修正すればきっと動くでしょう。
ちなみに一部の項目(例えばPageSetup.PrintQuality:印刷品質)なんかでは、値が入ってないと実行時エラーになる。その場合はコピー元シートの印刷設定にちゃんと値を指定すればOK)

ところで、実行中のVBAを含んでいるブックは、ThisWorkbookで指定することが出来る。今までActiveSheetとかActiveWorkbookしか知らなかった…なんでVBで自分のクラスを表す単語はMeなのに、これはThisなんだ?(爆)


自作ソフトページに戻る
メールの送信先:ひしだま