[[20070703071140]] 『ユーザーフォームのプリントフォームについて』(tsutomu) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『ユーザーフォームのプリントフォームについて』(tsutomu)

 ユーザーフォームのプリントフォームでプリントの詳細を設定することは
 可能でしょうか。
 よろしくご教示願います。
 エクセル2003 WinXP


 「ユーザーフォームのプリントフォーム」というのは初めて目にするフレーズですが、
どのような機能か、ご説明願えますか?
(みやほりん)(-_∂)b

 ユーザーフォーム1を表示中にユーザーフォーム1の中のコマンドボタン1を押すと
 ユーザーフォームがプリントされるようにしています。
 Private Sub CommandButton1_Click()
   UserForm1.PrintForm
 End Sub
 このとき出力されるサイズがA4縦で出力されてしまうため、画面一面に表示されている
 ユーザーフォームが印刷されてきません。
 このコードを使わなくても何らかの形でユーザーフォームをA4ヨコで1ページに入るように
 印刷できたらなと思いまして質問させていただきました。
 調べる限りPrintFormには付随した設定が無いように感じたもので・・・
 これ以外の方法でも何かいい方法あればご教示願います。

 ユーザーフォーム内のテキストボックスにいくつかの数字を入れて計算をさせるのですが
 入力した数字を記録させるという意味もあって印刷できたらなと思っております。

 (tsutomu)

 そのようなメソッドがあったのですね。知りませんでした。
ExcelVBAのヘルプには 「PrintForm で使用されるプリンタは、オペレーティング
 システムの [コントロール パネル] で設定されているプリンタです。」とありま
すので、プリンタのデフォルト設定が適用されるようです。
いろいろ試してみましたが、PrintFormでは「一枚分」しかプリントしないようなの
で、ドライバで「2ページ分を1ページに納めて」という手段も無効のようです。
この辺はプリンタ機種によるのかもしれませんが。
 
でも、ユーザーフォームそのものを印刷する必要があるのでしょうか。印刷が必要
であれば、フォーム上のデータを印刷用のシートにデータ転記してそのシートを印
刷することをお勧めします。
 
(みやほりん)(-_∂)b

 やっぱり無理っぽいですね。
 ユーザーフォーム内にテキストボックスが60個程度あるため
 印刷シートへ移すのが面倒なのと、ユーザーフォームの形で印刷される方が
 見た目がいいかなと思っていたのですが^^;
 印刷用シートを作ることにします!
 ありがとうございました〜

 tsutomu

 >印刷シートへ移すのが面倒なのと、
転記先やコントロール名が数値として規則的であることが条件ですが、
Forステートメントによる繰り返し構文や変数を使って短いコードにすることは
出来るかもしれません。
[[20050329085443]] 『フォームのデータをエクセルシートに転記』(クロ)
 
一度作ってしまえばそれほどコードの長い短いは関係ありませんが。
(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.