ホーム › フォーラム › A5:SQL Mk-2掲示板 › テーブル定義書出力時の進捗表示
- このトピックには4件の返信、1人の参加者があり、最後にぱんかれにより1年、 2ヶ月前に更新されました。
-
投稿者投稿
-
ぱんかれゲスト
お世話になっております
可能でしたらお願いがございまして….
テーブル定義書の出力進捗表示なのですが、緑色のプログレスバーと一緒に、
( こなした数 / 対象のオブジェクト数の総数 ) 、および、完了時に消えるか
完了の表示、もし許されるなら経過時間(秒)と一緒に表示してもらえれば
たすかります(下記理由で、%表示よりも実数のほうがありがたいです…)というのも、300を超えるテーブルを出力したりしているのですが、
その場合、グラフの進みがわずかなので、ざっくりどれくらいまでいったかが
わからないこと、ハングアップしているのかうまくいってるのかで、画面が
windowsのハング検知の白透明化になったりもどったりになりがちなので、生きているか
死んでいるかがわからないことが多々あるためです
こちらどうかご検討いただければ幸いです松原正和キーマスターぱんかれさんこんにちは。
Excel形式でのテーブル定義書の出力が遅いときは、生成時のオプションダイアログで、「ページ設定を行う(印刷しない場合はOFFにすると処理が速くなります)」のチェックを外すとかなり速くなるはずです。
また、v2.19.0 beta 1から、HTML形式のテーブル定義書にかなり手を加えており、今後、Excel形式よりも、HTML形式をテーブル定義書の第一選択肢とすることも考えています。おそらく、Excel形式よりも生成が速いはずです。いかがでしょうか?ぱんかれゲストありがとうございます。
私もgitで更新履歴が取れるhtmlを推奨していきたいのですが、
大きなSIer様とお仕事するとexcelであることや印刷できることを要求
されてしまい、従来型のexcelタイプの需要は一定量あり、かつ、わりと旺盛です。
(わりと残念な事例として、表紙を足して、さらにハンコ欄足したりとかもあります…)この出力作業、けっこうexcelだからこそITが弱い上流工程会社がはさまっても
ブックで全件検索できるのがgrepを知らない面々および若者かき集めテストチームには
大変高いメリット(?)でして、わざわざexcel出力するためにノートPC1台用意して
「a5mk2で仕様書作成実施中さわるな」という張り紙をして毎日2回出力作業のためだけに
監視バッチも組まれリソース確保されているぐらいのわりとかなりの重要度だったり
しています….
htmlであってもexcelであっても、瞬間的にいくつあってどこまで
いったかが数値で見れるとありがたいはあります….(excelとくらべたら爆速のはず
なので、時間がかかるからこその価値ではあるのですが….)松原正和キーマスターぱんかれさんこんにちは。
なるほど、やっぱり神Excelですよね。Version 2.19.0 beta 3で進捗出力(“n/m” 形式)に対応してみました。(Excelのみ)
あと、Excel 形式の出力を多少高速化しています。「ページ設定を行う」をONにしていても、OFFに近い速度が出るようになっているかと思います。ただ、Excel自体遅いですよね…。
検証していた時に気が付いたのですが、他のExcelブックを開いたりしていると、動作が遅くなる現象が見られました。また、最初の数テーブルは早く出力するのですが、あとのテーブルになればなるほど、出力が遅くなるようです。以前のExcelもそうだったかな? とかよくわからないですが、何か回避できないか調査してみます。ぱんかれゲスト参考情報として、遅くなる原因のたくさんのうちの1つなのですが:
Application.ScreenUpdating = False にして、
DoEvents()をしない状態が続くと、ほかにやりたかったイベントを
キューイングしてため込んでしまうようで、最終的に全体的に遅くなります。
これは複数excel画面を開いているとき、Application.ScreenUpdating = true の
ドキュメントのイベントが最優先されてイベント処理を解決していってしまうので、
結果的にa5mk2から裏で作っているexcelブックがやりたかったことをこなせずに
時間がたつにつれて遅くなります。特に、裏でほかの作業をしていると、無視したマウスイベント群をあとでまとめて
解決しようとするので、結果的に変なところに移動しようとしたり、クリックイベントが
いきなり発生したりしします。かといって、
Application.ScreenUpdating = trueと、DoEvents()のタイミングがわるいと、
作っているはずのexcelシートの最終位置だったりやっていたはずのことが欠損する
こともある(うっかりフォアにもどった瞬間に人間の行動を受け入れてしまうため)ので、
タイミングが難しい問題でもありますご参考まで
-
投稿者投稿