ループ構造について

解決


チロル  2005-01-12 12:55:35  No: 118802  IP: [192.*.*.*]

ループ構造について質問です。

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

編集 削除
特攻隊長まるるう  2005-01-12 13:03:49  No: 118803  IP: [192.*.*.*]

Debug.Print 入れてデバッグすりゃいい事をなんで質問する?
デバッグは自分でして下さい。
>For〜Next、Do〜Loopの使用方法として、間違っているのでしょうか?
ヘルプを読んで下さい。ここで回答を得るよりちゃんと
説明してくれてます。

編集 削除
いな  2005-01-12 13:29:21  No: 118804  IP: [192.*.*.*]

>>For〜Next、Do〜Loopの使用方法として

For〜Next、Do〜Loopの使用方法に限定して言うならば間違っていないです。

間違っているとすれば処理の流れです。

編集 削除
ちろる  2005-01-12 14:38:06  No: 118805  IP: [192.*.*.*]

特攻隊長まるるう様、いな様、早速の対応、ありがとうございます。

>間違っているとすれば処理の流れです。
お恥ずかしい限りです。

Do〜Loopの使用方法を間違っていたようです。
Whileではなく、Untilですね。

ありがとうございました。

編集 削除