- - PR -
C#で同時実行
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-04-01 11:04
ただいま、作成したデータをEXCELに転送し、EXCELの印刷プレビューを表示するものを作成しています。
ですが、EXCEL起動、データ転送、印刷プレビューが表示されるまでの時間が長いので プログレスバーなどを表示したいのですが、可能でしょうか? ご教授お願いいたします。 WinXP, Windowsアプリ, C#, VS.NET2003、, EXCEL2003です。 | ||||
|
投稿日時: 2004-04-01 11:18
諸農です。
可能か?という問いに対しては「可能です」となりますね。 実現方法は?となるなら、 1.EXCEL起動、データ転送、印刷プレビューを単位化して、 その総数・総量をProgressBar.Minimumにセット。 2.単位あたりの処理完了時点でIncrement()を呼び出す。 3.必要に応じてプログレスバーの表示更新を行う。 等々になると思いますが。。 そういうことではないのでしたら、読み捨ててください。 _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-04-01 11:28
早速のご返信有難うございます。
1に単位化とありますが、具体的にはどのような感じでしょうか? 初心者なのでちょっと検討がつきません^^; あと、やはりマルチスレッドを使うことになりますか? よろしくお願いいたします。 | ||||
|
投稿日時: 2004-04-01 14:28
プログレスバーは、最低値、最大値を決め、ステップを刻むことで表示させます。単位化とは、すべての処理が始まる時点を0%(またはステップ0)、終わったときが100%(またはステップN)として、それぞれの処理が何%(または何ステップ)かを決めることです。 マルチスレッドでなくても出来ないことはないですが…マルチスレッドだから難しい、と思っていたらいつまでも出来ないので、どこかで思い切りましょう。 | ||||
|
投稿日時: 2004-04-01 14:48
ご返信有難うございます。
ということは、印刷プレビュー処理を実行したと同時に、プログレスバーを設置してあるフォームを表示し、プレビューが表示されたら、フォームも閉じるというような感じでしょうか? | ||||
|
投稿日時: 2004-04-01 14:52
どのように作るかによりますから。 EXCELのマクロですべてやるのなら、プログレスバーの表示はほぼ不可能でしょう。C#側ですべてやるなら、そういう感じになります。 [ メッセージ編集済み 編集者: Jitta 編集日時 2004-04-01 14:52 ] | ||||
|
投稿日時: 2004-04-01 16:26
マルチスレッドについて調べて、学習したいと思います。 わからないことがありましたらまたお願いします。 いろいろ有難うございました。 |
1