『印刷のマクロについて』(0123)
よろしくお願いいたします。
Sheet1に住所録 Sheet2にVlookupを使用して封筒長形3号に印刷しています。
マクロにて、プリンターを指定し尚且つ「給紙を手差し」を選択し、印刷を
することは可能でしょうかでしょうか。お教えください。
< 使用 Excel:Excel2019、使用 OS:Windows10 >
「プリンターの設定」の内容はプリンターに依存しますので、対応しきれませんから原理的に難しいでしょう。 【補足】「プリンターの設定」を表示する命令を出すまでがExcelの仕事で、 あとはプリンター側の処理なので、Excel(VBA)からコントロールはできない ということかと思います。
以下のQ&Aにある方法をトライしてみてはどうですか? https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10312161010
(xyz) 2025/11/12(水) 14:52:54
期待されてる回答じゃないですが...
プリンターのプロパティをExcel側から操作するのは困難なので、私は早々に諦めました。^^; あらかじめユーザーに対して準備すべき項目を明示しておけば、案外それなりに対応してくれます。 (↓ウチの職場の封筒印刷マクロの開始ボタン付近に貼ってあるテキストボックスの実例)
========================================================================================= ※印刷前に確認 ページ設定は[RISO ORPHIS GD7330]上で適切に収まる様に設定してあります。 (用紙サイズは[長形3号]の横向き印刷を使用) 他のプリンタを使用する場合は余白等、ページ設定を見直して下さい。
●ORPHIS本体の準備 封筒は必ずフタを開いた状態で、封筒の底側から給紙される様にセットし、 給紙台の[用紙選択]で、[厚さ]を[封筒]に設定する([自動]だと紙詰まりする)
●プリンタのプロパティの設定 [片面印刷]を指定 給紙トレイ選択は[給紙台]を指定 [レイアウト]タブの[画像回転]は[270度]を指定([自動]だと天地が逆転する) [イメージ処理]タブの[封筒画像処理]をオンにする(バーコード等のぼやけが軽減される) [排紙先]は[フェイスダウン排紙トレイ]がオススメです。(フィニッシャー側は遅い) (以上の設定を[お気に入り登録]しておくと便利) =========================================================================================
あとはせいぜい、 Application.ActivePrinter プロパティで現在使用しているプリンターの名前を取得し、 連続印刷の開始前に「マクロが想定しているプリンターが選択されているか」のチェックを割り込ませ、 ユーザーに確認を求める。
If MsgBox("全部印刷する。" & vbNewLine & _
"このプリンタで合ってるか?" & String$(2, vbNewLine) & _
"[" & ActivePrinter & "]", _
vbOKCancel + vbExclamation) = vbCancel Then Exit Sub
Dim i As Long, c As Long
For i = [ID_FROM].Value To [ID_TO].Value
[ID_NOW].Value = i
Me.PrintOut
c = c + 1
If c = 10 Then
If MsgBox("とりあえず10件分印刷した。" & vbNewLine & _
"このまま最後まで続行するか?", _
vbOKCancel + vbInformation) = vbCancel Then Exit For
End If
Next
以上、ウチの職場のアナログな実例でした。
(白茶) 2025/11/12(水) 15:07:22
>『特定の図形のみ選んで別の図形に変更』
タイトル通りで貼り付け位置をB2に指定するようにしています。
AI回答です。
Sub 図形変更セル指定()
Dim 元図形 As Shape
Dim 新図形 As Shape
Dim 配置セル As Range
' 配置先セルを指定
Set 配置セル = Range("B2")
' 選択した図形の最初のものを対象
Set 元図形 = Selection.ShapeRange(1)
If 元図形.AutoShapeType = msoShapeOval Then
' コピーして貼り付け
元図形.Copy
ActiveSheet.Paste
Set 新図形 = Selection.ShapeRange(1)
' 四角に変更
新図形.AutoShapeType = msoShapeRectangle
' セル位置に合わせて配置
新図形.Left = 配置セル.Left
新図形.Top = 配置セル.Top
End If
End Sub
(AI回答) 2025/11/13(木) 09:57:35
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.