
用紙サイズやマージンを指定して、1ページに最大倍率で印刷する方法はないでしょうか?(自動的に)
以前「QNo.2677602 ExcelVBA、印刷ページを事前に知るには 」で教えていただいた
i = Application.ExecuteExcel4Macro("GET.DOCUMENT(50)")
を利用して次の動作をするVBAマクロを作りました。
PageSetupでZoomに100を指定し、1ページに収まるかどうか調べる。
1ページ内の時は1ページを越えるまでZoomを+1し越えたら-1する。
1ページ以上の時は1ページになるまでZoomを-1する。
これで上手くいくと思ったら、動くことは動くのですが、結果は大き過ぎたり小さすぎたりして、後で手作業で調整しなければなりません。
実行速度も非常に遅いです。
うまくやる方法はないものでしょうか?
よろしくお願い申し上げます。
No.1ベストアンサー
- 回答日時:
こんにちは。
Wendy02です。>これで上手くいくと思ったら、動くことは動くのですが、結果は大き過ぎたり小さすぎたりして、後で手作業で調整しなければなりません。
やってみる前から言うのは申し訳ないのですが、確か、ページ数取得とページの拡縮とは、同じマクロの中では、二つは同時に成り立たなかったと思います。私が、マクロ関数を使った理由は、通常のVBA(以下のURLの中にあるもの)ですと、ブレやすいので使ったのですが、しかし、いずれにしても両方は無理だったはずです。
Zoom率を計算で割り出して、拡縮側で、一回で決めないと出来ないような気がします。しかし、縮小による視覚的な問題と、印刷ページにするときの丸め誤差が発生するので、マイナスは良いにしても、プラスではみ出てしまうのは防げないような気がしているのです。
以前、同じ質問を受けたことがありますが、そのとき、初めて、その問題に気がつきました。偶然の産物で出来る可能性がないとは言わないけれども、believe_me さんが、試行錯誤するプログラムに対しての協力は惜しまないけれども、私のレベルでは、回答として載せるレベルのものではありません。こちらは、無理だと思ってやるだけの気持ちがありません。ひとつだけ提案としては、印刷した後の実測値を用いることですね。私は、ここらがExcel独自の難しさなんだろうと思います。
以下、このような文面が乗っています。
「逆も真なり」なのです。
http://support.microsoft.com/default.aspx?scid=k …
[XL2002] 印刷されるページの総数を調べる方法
≪このプロシージャを実行する前に、改ページ位置のセルを画面に表示して、改ページ位置を認識させる必要があります。次のいずれかの操作を 1 度実行します。
・改ページされているセルを画面に表示
・ZOOM で縮小したあと元に戻す
・印刷プレビューを実行する ≫
回答ありがとうございます。
ちょっと無理なお願いをしてしまったようです。
用途としては設計文書をエクセルで作っており、各シート毎に各1ページの異なったフォームになっています。
常に印刷前に調整しなければならず、簡素化しようとしていました。
全て自動化するのは無理なようですので、全シートのプレビューを出すなどの半自動でやろうと考えています。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 【マクロ】webアドレスにて指定されたCSVファイル【excelソフト表示】を印刷する件 1 2023/02/15 01:52
- その他(Microsoft Office) Excelのマクロについて教えてください。 1 2022/03/25 10:03
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- その他(ソフトウェア) 写真の印刷レイアウトについて 13 2023/05/31 07:20
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- その他(悩み相談・人生相談) 画像の比率について。 部活動の公演のチケットを作成したいのですが、A4サイズいっぱいに印刷して6枚チ 2 2022/10/08 22:11
- Excel(エクセル) Excelであるシートだけ印刷できない 1 2022/04/01 09:04
- その他(パソコン・スマホ・電化製品) Webページ印刷時にヘッダー・フッターをつけたい 1 2022/04/25 21:35
このQ&Aを見た人はこんなQ&Aも見ています
-
ExcelVBAで印刷設定の拡大率を取得する方法
Excel(エクセル)
-
ExcelVBA印刷サイズの取得のことで初歩的な質問です。
Visual Basic(VBA)
-
Excel 改ページのVBAうまくいかないです
Excel(エクセル)
-
-
4
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
5
EXCEL、マクロ-改ページ行番号の取得方法を教えてください
Visual Basic(VBA)
-
6
エクセルVBAでマルチページの切り替え方法の件で
Excel(エクセル)
-
7
VBA 表を紙いっぱいに印刷範囲設定する方法
Windows Vista・XP
-
8
エクセルのページ区切り(点線)の位置をマクロで取得 ※印刷範囲クリア
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで一覧表のデータを個別に...
-
エクセルで長い行を1枚に印刷し...
-
エクセルのページ番号印刷を3枚...
-
WordでA3の大きさで左半分と...
-
エクセル2013で1ページ目と2ペ...
-
ワード2000>B6・4枚をB4...
-
ワードからPDF作成したら文字色...
-
EXCELの改ページプレビューと印...
-
EXCEL印刷
-
セルに画面上色をつけて、印刷...
-
Word作成文書をA3用紙5枚の両面...
-
エクセル 長い表を1枚のPDFか...
-
VBAの印刷について
-
Wordでこのような三角が出てく...
-
ワードに「URL」を貼り付けると...
-
ワードで棒線が直接文章に入る...
-
スケッチスタイルの有効化
-
XChange Viewerで文字サイズの変更
-
エクセルで薄く透ける文字を入...
-
印刷用紙の中央に点線をいれた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで一覧表のデータを個別に...
-
エクセルのページ番号印刷を3枚...
-
ワードからPDF作成したら文字色...
-
エクセルで長い行を1枚に印刷し...
-
エクセル2013で1ページ目と2ペ...
-
エクセルで画面では罫線が出て...
-
エクセル 表を大きく、紙いっ...
-
Excelで印刷!集計行をすべての...
-
Excelで連番(ナンバリング)印刷
-
WordでA3の大きさで左半分と...
-
EXCEL印刷
-
Word作成文書をA3用紙5枚の両面...
-
ぴったり印刷するエクセルVBAを...
-
エクセルの表がプレビューで見...
-
セルに画面上色をつけて、印刷...
-
ワードで「1枚あたりのページ...
-
excelで、印刷時にのみ表示され...
-
エクセル 長い表を1枚のPDFか...
-
EXCEL2003で袋とじ印刷ってでき...
-
EXCELの改ページプレビューと印...
おすすめ情報