ExcelVBAの初歩的な質問になります。例えば印刷サイズをA4サイズとして印刷の行と列の幅を取得したいです。4×4の均等なセルを作るとします。印刷のサイズが分かれば4等分したサイズをセルに設定すればいいと思います。印刷サイズや均等なセルの値を変数また配列にしたいと思っています。この場合にはやはり印刷サイズが決まった時点の列幅と行幅をどの様に取得すればいいのでしょうか?オブジェクトの参照設定によるインスタンスの作成でできることなのでしょうか?また、WidowsAPIによるサブルーチンではなにを使用することで取得することができるのでしょうか?よろしくお願いします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
こんにちは
>WidowsAPIによるサブルーチンではなにを使用することで取得することができるのでしょうか?
なぜに、APIがでてくるのかしらん?
印刷はExcelのハンドリング内のことなので、Excel VBAの範疇ではないでしょうか?
>ExcelVBAの初歩的な質問になります。
多少の誤差を許すのであれば、以下の手順で算出は可能です。
質問者様にとっては初歩的なことかもしれませんが、私にとっては、結構面倒な内容に思われます。
以下、試してみた手順ですので、ご参考までに。
◇準備作業として、調査用のシートを作成します。
・新規シートでも良いですし、対象シートの複製でも良いです。
・各セルを許容誤差範囲の小さなサイズに設定します。
(このサイズ以下の寸法は許容誤差として考えてください)
・プリントの向き、サイズの設定 など(余白等)必要な設定を行います。
(PageSetup.Orientation、PageSetup.PaperSize etc.)
・必要なら、既存の改ページを削除
(ResetAllPageBreaks)
・印刷範囲を十分に大きな範囲(=必ず1ページ以上となる範囲)に設定
(PageSetup.PrintArea)
◇上記から1ページの行数、列数を算出する
(以下は行数の場合の手順。列数も同様。)
・改ページ位置から、1ページ目の行数を算出
(HPageBreaks)
・求めた「行数×設定セル高さ」で、1ページ分の長さを算出できますので
求めるセル高さは、これを1/4にした値となります。
・高さ、幅を算出したら、調査用シートを削除。
※ 非表示の行や列はないものと想定しています。
存在する場合は、それも考慮する必要があるでしょう。
※ どうしてもピッタリの数値が欲しければ、改ページ付近のセルサイズを
さらに細かくして、再度同様の計算を行えば、精度を上げることが
できるでしょう。
(こちらの方法をとるなら、最初にセルサイズを小さく設定する必要はありませんね)
一方で、余白やヘッダー、フッター等が一定なら、用紙のサイズや向きの種類数はたかが知れているので、わざわざ都度調べるようなことをしなくても、事前に表にでもしておけば済む話ではないかと推測します。
まぁ、余白やヘッダー等のサイズがその都度変わる様であれば、仕方がないですけれど・・
アドバイスありがとうございます。仕様を決める際に問題をシンプルにしてコードを考えています。本題は少し複雑なので一つ一つ解決して行こうと思います。また、ソースコードを決める際には複数の候補があると思っています。いろいろな方のお知恵を借りて解決できたら幸いです。参考にさせて頂きます。助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(ソフトウェア) 写真の印刷レイアウトについて 13 2023/05/31 07:20
- Word(ワード) Wordでの印刷サイズについて A4の原稿をB5サイズで出力したいとき、 印刷から用紙サイズの指定か 4 2022/04/30 09:51
- Excel(エクセル) エクセル2013「次のページ数に合わせて印刷」が小さすぎる 9 2023/03/28 10:18
- プリンタ・スキャナー ブラザー プリンターMFC-J4720N 2 2022/07/17 20:10
- Word(ワード) office365のWordの印刷範囲が勝手に狭くなっています。 4 2022/07/18 16:31
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- プリンタ・スキャナー A4サイズの書類をA3サイズ2枚の大きさに印刷をしたいのですが、A3サイズを貼り合わせるかたちで。 5 2023/04/08 14:08
- プリンタ・スキャナー A4サイズの書類をA3サイズ2枚使用した大きさに印刷したい場合の設定を教え下さい。 4 2023/04/08 13:42
- Windows 10 macからwindows11に変えてから印刷の速度が変えられなくなりました。 2 2023/05/31 20:49
- Illustrator(イラストレーター) イラストレーターでの印刷について 3 2022/06/30 11:49
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
メッセージボックスのOKボタンをVBAでクリックさせたい
Visual Basic(VBA)
-
エクセルのページ区切り(点線)の位置をマクロで取得 ※印刷範囲クリア
Excel(エクセル)
-
-
4
EXCELで特定のセルに表示された項目をヘッダーやフッターに出力するには
Excel(エクセル)
-
5
VBAでシート全体の塗りつぶしを解除する
Word(ワード)
-
6
Excel VBAで文字列の可視長を得るにはどうしたよいでしょうか?
Visual Basic(VBA)
-
7
プロポーショナルフォントの文字列から印刷幅を求める関数
Excel(エクセル)
-
8
エクセルVBAでセル範囲のデータをクリップボードに
その他(Microsoft Office)
-
9
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで作成したチェックボ...
-
A3まで対応のコピー機ってA4も...
-
ExcelVBA印刷サイズの取得のこ...
-
1920×1080は何mm?
-
イラストレーター A4隅々まで...
-
Googleフォトでの動画を、撮影...
-
動画のdpi変更って出来るのです...
-
このプリントに書かれている戦...
-
ベクターワークスでパレットが...
-
ウィンドブレーカーの文字・ロ...
-
【WEB制作】画像ファイルの解像...
-
画像の解像度を上げる方法
-
イラストレーターデータを、解...
-
写真のソリをかんたんに直す方...
-
写真を印刷する際、ファイル名...
-
解像度(画質)を上げる方法っ...
-
72dpi⇒300dpiに変更しても支障...
-
アプリで知り合った人と会う約...
-
350dpiの画像をイラレ配置した...
-
イラストレータJPEGで保存する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBA印刷サイズの取得のこ...
-
エクセルで作成したチェックボ...
-
エクセルで作成した文字を、所...
-
添え状の書き方について教えて...
-
レコードジャケットをCDサイ...
-
大量に印刷する場合、A4とB...
-
iPhone 3GSのカメラ撮影 画像...
-
1920×1080は何mm?
-
72dpi⇒300dpiに変更しても支障...
-
イラストレーター A4隅々まで...
-
写真のソリをかんたんに直す方...
-
ウィンドブレーカーの文字・ロ...
-
【WEB制作】画像ファイルの解像...
-
Amazonで同じ商品の値段が全然...
-
Excelで投入数、加工数、検査待...
-
威沙で出力されるPDFのdpiはな...
-
あなたの「マイブーム」は何で...
-
印刷すると黒が赤味がかってし...
-
イラストレーターデータを、解...
-
学習プリント(課題で貰ったもの...
おすすめ情報