初めての相談になります。
VBA超初心者ですが教えて下さい。
フォーム上で「印刷部数」をテキストボックスに入力して、印刷ボタンを押すと指定した部数を印刷し
さらに連番も一緒に印刷されるようにするにはどうすれば良いのでしょうか?
【印刷部数】というテキストボックスを作成し、印刷ボタンを下記インベントプロシージャを設定しています。
Private Sub cmdPrint_Click()
Const DocName = "T_ケースマーク印刷データ(Tag Noあり) のコピー"
DoCmd.Echo False
DoCmd.OpenReport DocName, acViewPreview
DoCmd.PrintOut acPrintAll, , , , Me!印刷部数
DoCmd.Close acReport, DocName
DoCmd.Echo True
End Sub
宜しくお願い致します
まずは確認ですが、
部数印字
こんな感じのことを通常のプリンタでやりたいってことでいいですか?
印刷するごとに印刷内容が変わるので、必要回数(部数分)印刷を繰り返します
印刷の実行時に
DoCmd.OpenReport
なら追加の情報を付与できるので、レポート側でその情報を使って印刷内容を変えます印刷するレポート「T_ケースマーク印刷データ(Tag Noあり) のコピー」(以下単にレポート)に部数表示用のテキストボックス(名前:部数表示)を配置します
レポートにレポートヘッダーを設定して(可視プロパティ「いいえ」でかまわない)フォーマット時イベントを次の通りに設定します
印刷ボタンのイベントを次の通りにします
読み込み時(Report_Load)でいいかな?
→印刷だとイベントが発火しない(プレビュー表示なら発火する)
じゃあ開く時(Report_Open)で・・・
→値の変更不可
えー・・・印刷ごとに一回だけ実行されればいいんだけど・・・しかたない、レポートヘッダー使うか
Report_Loadイベントを使って、プレビュー表示→
PrintOut
→Close
を繰り返してもいいとは思いますhirotonさん
ありがとうございます。
設定してやってみたのですが、私の技術不足のせいか、うまくいきませんでした・・・
また、投稿説明不足もあったと思い、追加説明をさせて下さい。
下記フォームで、部数に印刷したい枚数を入力して、隣のNo.あり・なしが印刷ボタンになっていまして
画像1
印刷ボタンを押すと下記が指定枚数分印刷されるようになっています。
画像1
印刷画面の右上に、例えば印刷したい枚数が10枚ならフォームの部数に10を入力すると
1枚目 1/10 2枚目 2/10 3枚目3/10・・・という風に印刷したいです。
すみません、よろしくお願いします。m(__)m
「現在部数 / 最大部数」で表記する方法はいくつかあると思いますが、そのまま単純にその形でテキストを流しこめばいいでしょう
とりあえず、テストしたサンプルの画像を貼っておきます
hirotonさん
出来ました!
ありがとうございます、本当に助かりました!!