アプリ版:「スタンプのみでお礼する」機能のリリースについて

ぜひ教えてください。

エクセル2010です。
現在 下記で印刷していますがこれに 両面 部数設定U1 にて
印刷ができるようにしたいのです。
ぜひマクロを教えてください。
(マクロの知識がなく 下のマクロもコピーで使用しています)

Sub 印刷()

With Sheets("シート書")
For num = .Range("s1").Value To .Range("t1").Value
.Range("r7").Value = num
.PrintOut
Next num
End With

End Sub

A 回答 (2件)

両面印刷はプリンタドライバの設定によって制御されます。


なので、VBA(マクロ)からこれを設定しようとすると
相当な努力が必要です。(私はやろうと思えません。)
> マクロの知識がなく
と言う状態であれば、ひとまずは「無理」と覚えていただきたいところです。


コレで終わるのは申し訳ないので、ある程度簡単にできるやり方を。
わかりやすいだろうと思われる言葉を選びますが、難しかったらご容赦ください。

準備)
両面印刷用の「プリンタドライバ」を用意します。

Win7なら、
コントロールパネル から デバイスとプリンタ を開き、 プリンタを追加、
両面印刷に使用するプリンタを指定して追加し(いつも使っているプリンタで結構です)、
「両面印刷用(仮)」などわかりやすい名前にしておきます。

追加されたプリンタを右クリック、印刷設定を出します。
これから先はプリンタのメーカーや機種によって様々ですので
詳細を記載することは困難ですので、いつも通りの「両面設定」をなさってください。
適用・OKとボタンを押すと「このドライバに」両面印刷の設定が保存されます。
注:今後、このプリンタドライバを使うと「必ず」両面印刷されます。
  「通常使うプリンタ」に指定するのは危険です。

ここから、エクセルマクロ(VBA)での設定です。
エクセルを立ち上げ、該当ブックを開き、
念のためプレビュー画面でプリンタを先ほど設定した「両面印刷用(仮)」にし、
プリンターのプロパティ で「両面印刷が初期値である」を確認しておきましょう。
上手く設定できていれば、プロパティを開いた時から両面印刷状態になっているはずです。

質問文中のコードを

Sub 印刷()
  With Sheets("シート書")
    For num = 1 To .Range("U1").Value '1~U1セルの数字まで繰り返し
      .Range("R7").Value = num 'R7セルに○部目を入力。不要ならこの行は削除
      .PrintOut ActivePrinter:="両面印刷用(仮)"
    Next num
  End With
End Sub

と書き換えてやります。

これでU1セルの部数分、両面印刷されます。


正直、苦肉の策です。
    • good
    • 9
この回答へのお礼

御礼が遅くなり申し訳ありません。
教えていただきありがとうございました。
本日午前中に使用し 書類がうまく印刷できました。
助かりました。

お礼日時:2013/01/30 13:35

マクロは苦手ですが、2ページ分用意して、両面印刷すればよいと思います


For num = .Range("s1").Value To .Range("t1").Value Step 2
とすれば numが2ずつ増加します
    • good
    • 3
この回答へのお礼

御礼が遅くなり申し訳ありません。
教えていただき ありがとうございます。
試してみました(^O^)

お礼日時:2013/01/30 13:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A