ループ構造について質問です。
ShellExecuteEX関数でPDFファイルを関連付け印刷を行い(、
EnumJobs関数で印刷ジョブを確認して、印刷ジョブがあれば、
次のPDFファイルを印刷しようとしています。
下のコード中のPDF_Print関数はShellExecute関数を実行し、
GetPrinterDocJobs関数はEnumJobs関数等を実行して確認を行っています。
その際、Do〜Loopで一回、EnumJobs関数を実行した後、
次のファイルの印刷へ移ってしまいます。
For〜Next、Do〜Loopの使用方法として、間違っているのでしょうか?
For i = 0 To XX
PrintCheck = False
'ShellExecuteEX関数で関連付け印刷
Ret = PDF_Print(Path(i), Me.hwnd)
'EnumJob関数等で印刷ジョブを確認
Do
PrintCheck = GetPrinterDocJobs(Path(i))
Loop While PrintCheck = True
Next i
Debug.Print 入れてデバッグすりゃいい事をなんで質問する?
デバッグは自分でして下さい。
>For〜Next、Do〜Loopの使用方法として、間違っているのでしょうか?
ヘルプを読んで下さい。ここで回答を得るよりちゃんと
説明してくれてます。
>>For〜Next、Do〜Loopの使用方法として
For〜Next、Do〜Loopの使用方法に限定して言うならば間違っていないです。
間違っているとすれば処理の流れです。
特攻隊長まるるう様、いな様、早速の対応、ありがとうございます。
>間違っているとすれば処理の流れです。
お恥ずかしい限りです。
Do〜Loopの使用方法を間違っていたようです。
Whileではなく、Untilですね。
ありがとうございました。
ツイート | ![]() |