お世話になります。
現在、複数のファイルを指定し、一括で印刷をする処理をVBで作成しています。
●問題
印刷される順番には意味があり、要求順に出力してほしいのですが、VB側でかけている印刷要求の順番と、プリンタのジョブにたまる順番が違う。
ループ内で1ファイル単位で印刷要求をかけているので、VB側は問題ないと思うのですが、原因がわかりません。
(ちなみにブレイクポイントをおき、1枚1枚印刷されるのを確認しながら行うと正常に印刷されます。)
また、Sleep関数を使用し10秒待ちを入れても出力順が変わってきます。
問題解決のきっかけになれば幸いです。
宜しくお願い致します。
---- 環境 ----
Windows2000
VB6.0
プリンタ xerox - DocuCentre607CP
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ShellExecute()ではだめですね。
印刷するものがどんなもんだかわかりませんが、出力させるアプリの作りによって順番が狂っても不思議ではありません。
なので、確実に印刷が終わってから次のファイルを印刷するようにする必要があります。
ShellExecuteEx()で印刷アプリを起動し、取得したプロセスハンドルを使用してWaitForSingleObject()で起動した印刷アプリが終了するまで次の印刷を行わないようにするのがいいかと。
ご意見ありがとうございます。
その方法も考えました。(まだ試してないですけど。)
今XEROXの方に何が問題なのか聞いている段階です。
今回の場合、印刷速度を重視しているので、XEROXの解答で対応出来ないようであればそちらを試したいと思います。
No.2
- 回答日時:
それはヘンですね。
私はそのような現象に陥ったことはありません。
帳票ツールは何を使用しているのでしょうか?
あるいは、VBのPrinterオブジェクトにより出力しているのでしょうか?
また、後者の場合、EndDocメソッドの発行は適切な順番で行われてますか?
それでもダメな場合は、出力した後にDoEvents関数を挿入してみてはいかがでしょうか?
「確認しながら行うと」というのが「メッセージボックスを出力しOKボタンを押すと」ということでしたら、Windowsに制御が渡ってないことが原因かもしれませんので試してみてください。
この回答への補足
'実行する操作を指定
srtOperation = "print"
'ファイル名を指定
strFileName = ファイルパス
'デフォルトディレクトリを指定
strDefaultDirectory = ""
lngExecutableHInstance = _
ShellExecute(Me.hwnd, _
srtOperation, _
strFileName, _
vbNullString, _
strDefaultDirectory, _
SW_SHOWNORMAL)
上記の処理で印刷要求をかけています。
DoEvents関数ではダメでした。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux テキストファイルをページ番号付きでコマンドラインから印刷したい 1 2023/02/22 12:47
- Visual Basic(VBA) VBAで不特定枚数印刷をしたいです。 4 2022/08/02 07:30
- Excel(エクセル) Excel VBAプルダウンの値を変えながら2枚ずつ印刷する方法? 4 2022/05/27 13:04
- 年賀状作成・はがき作成 Wordによる宛名印刷 2 2023/01/04 15:36
- UNIX・Linux Ubuntu22.04、nanoエディタの使い方について 2 2022/10/24 19:50
- その他(音楽・ダンス・舞台芸能) チケットに座席番号のみを印刷する方法 4 2023/02/10 11:21
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) エクセルでキーリストからデータを取り出して1枚1枚印刷するには? 11 2022/06/27 09:52
- Excel(エクセル) エクセルの印刷マクロについて質問があります。 現在、下記のマクロで印刷しています。Sheet1のD6 5 2023/06/12 10:59
- プリンタ・スキャナー EPSON プリンターのインクについて 4 2022/11/26 22:33
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Excel 複数のシートの印刷順の指定について
Excel(エクセル)
-
Excel VBAによる連続印刷について処理の順番
Excel(エクセル)
-
複数のEXCELシートの印刷順の指定
Excel(エクセル)
-
-
4
PDFファイルを開かずに印刷したい
Visual Basic(VBA)
-
5
PDFファイルを順番通りに印刷するためには?
その他(ソフトウェア)
-
6
【Vb.net】プリンタジョブの取得
Visual Basic(VBA)
-
7
VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません
Visual Basic(VBA)
-
8
ExcelVBAでPDFを閉じるソース
その他(Microsoft Office)
-
9
VBA PDFファイル印刷後のAcrobatReaderDCの起動画面を閉じたい
Excel(エクセル)
-
10
VBAでホルダー内のPDFを一括印刷したい
Excel(エクセル)
-
11
プリンタに200~1000くらい印刷ジョブを送ると印刷順が狂う
プリンタ・スキャナー
-
12
Excel VBA の印刷後の判定
Excel(エクセル)
-
13
vbaでPDFファイルが印刷されない
Visual Basic(VBA)
-
14
PDFファイルを開き、印刷し、閉じるマクロ
Visual Basic(VBA)
-
15
Excel 複数印刷範囲設定と、印刷順序
Excel(エクセル)
-
16
VBからPDFファイル自動生成するには
Visual Basic(VBA)
-
17
Excelで複数のファイルを1度に印刷したいです。
Excel(エクセル)
-
18
印刷の順序が逆になる
プリンタ・スキャナー
-
19
ShellExcuteのprint”がExcel2016で実行されない"
Excel(エクセル)
-
20
フォルダ内にあるPDFファイルを一括で印刷する方法※右クリック→印刷はNG
PDF
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
プリンターエラーの判定
-
フォームを印刷するには
-
B4で手差しトレイから印刷(V...
-
A4の2枚をA3の1枚にする編集方法?
-
JavaでPDF作成
-
VBAでエクセルからワードへの差...
-
vba 時間の引き算 例えば 15:00...
-
VB6で作成したアプリをパッケー...
-
htmlからcgiを自動的に起動させ...
-
WinSCPで画像のように puttyを...
-
ミキサーの情報の取得方法を教えて
-
VBSで起動したアプリが前面表示...
-
Excel-VBAでDSOFile.dll使える?
-
C++初心者です。 debug asserti...
-
DLLを作成してVBAから使用する...
-
「読み込み違反」が起きたとき...
-
Windows PowerShellでC言語を実...
-
androidで.exeを実行できますか?
-
[VB.net] ExcelへのQRコード出...
-
VB6で作成したアプリを配布する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
印刷ダイアログを表示させない方法
-
印刷要求順番と印刷出力順番が...
-
プリンターを指定して印刷するには
-
vbaでPDFファイルが印刷されない
-
VBAで印刷スプール終了の判定を...
-
PDFファイルを印刷し終了するには
-
VBからプリンタに出力する時に...
-
ACCESSで設定した帳票の用紙サ...
-
印刷ダイアログを表示させたくない
-
VBscriptでPDFファイルを直接印...
-
ActiveReportsを使って[印刷ダ...
-
VBAで印刷の成功判定
-
Accessフォームで全レコードを...
-
VB.NET+ActiveReports で印刷...
-
A4の2枚をA3の1枚にする編集方法?
-
Eclipseを使ってソースを印刷し...
-
EXCELファイルの複数ダウンロー...
-
VBAにて指定したセルをプルダウ...
-
VBでExcel印刷する時のプリンタ...
-
Javaから直接プリンターへ印刷...
おすすめ情報