Excel VBA質問箱 IV

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

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


3522 / 13645 ツリー ←次へ | 前へ→

【61665】紙のサイズ設定でエラーに うなぎ 09/5/25(月) 18:21 質問[未読]
【61668】Re:紙のサイズ設定でエラーに もも 09/5/25(月) 19:16 発言[未読]
【61669】Re:紙のサイズ設定でエラーに うなぎ 09/5/25(月) 20:35 お礼[未読]

【61665】紙のサイズ設定でエラーに
質問  うなぎ  - 09/5/25(月) 18:21 -

引用なし
パスワード
   このサイトは詳しい人が多くていいですね!はじめて質問させていただきます。

Excel 2000で作って今まで問題なかったのですが、
プリンタを変えたら、用紙サイズを設定する以下の文で
「PageSetupクラスのPaperSizeプロパティを設定できません。(1004)」という
エラーが起きるようになりました。(sSheetはシート名)

Sheets(sSheet).PageSetup.PaperSize = xlPaperB4 'B4を設定

VBEのオブジェクトブラウザで見るとxlPaperB4という定数は12です。

手動では設定できるので、それをマクロ記録してみたら、
 .PaperSize = 159
となりました。

プリンタが変わると、同じサイズでも数値が変わるのでしょうか?
プリンタを変えるたびにコードを直さずにすむ汎用性のあるコードにしたいのですが、どうしたらよいか知恵を貸していただけないでしょうか?

なお、プリンタは富士ゼロックス DocuColor 1257 GAです。
Excelは2007から実行しても結果は同じです。
よろしくお願いします。

【61668】Re:紙のサイズ設定でエラーに
発言  もも  - 09/5/25(月) 19:16 -

引用なし
パスワード
   ▼うなぎ さん:
>プリンタが変わると、同じサイズでも数値が変わるのでしょうか?

私も同じようなことで悩んだ事がありましたが、プリンタに依存するようです。

で、私の解決方法は印刷用のシートを非表示で作っておいて
(もちろん印刷用紙のサイズも設定して)

それをコピーしてデータを転記する事にしました。

参考になれば・・・

【61669】Re:紙のサイズ設定でエラーに
お礼  うなぎ  - 09/5/25(月) 20:35 -

引用なし
パスワード
   ▼もも さん:

>で、私の解決方法は印刷用のシートを非表示で作っておいて
>(もちろん印刷用紙のサイズも設定して)
>
>それをコピーしてデータを転記する事にしました。

つまり予めサイズが設定されているシートなので、
印刷のたびにサイズ設定は不要 → エラーが回避できる。

ということですね?
なるほど。参考にさせていただきます。
ありがとうございました。

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