teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2018/06/20 05:25

投稿

hatena19
hatena19

スコア34367

answer CHANGED
@@ -13,4 +13,26 @@
13
13
  ForループでPrintOutしてますので、その中で、APIのSleep関数で0.5秒ぐらい待機させる。
14
14
  停止ボタンでフラグを立てて、フラグが立っていたらForループを抜ける、という処理にすれば
15
15
  それ以降のブックの印刷はキャンセルできます。
16
- [Excel VBA を学ぶなら moug モーグ | 即効テクニック | [停止]ボタンでマクロを停止する](http://www.moug.net/tech/exvba/0090061.html)
16
+ [Excel VBA を学ぶなら moug モーグ | 即効テクニック | [停止]ボタンでマクロを停止する](http://www.moug.net/tech/exvba/0090061.html)
17
+
18
+ 追記
19
+ ---
20
+
21
+ このぐらいの要件になると、どのようなUIにするかが重要になってきます。
22
+ UIの設計がまずいとユーザーにとって使いにくいものになります。
23
+ どのようなUIかいいかは、処理内容や作業手順によって変わってきます。
24
+
25
+ ファイルの存在するフォルダが数カ所の固定なら、下記のようなUIが考えられます。
26
+ ![サンプル1](1a6641662bd5bd3d487b9ce374281a2e.png)
27
+ 0. 一つ目のリストボックスでフォルダーを選択すると、
28
+ 0. 2つ目のリストボックスにそのフォルダーに存在するファイル名のリストが表示される。
29
+ 0. そこで印刷したいファイルを複数選択して、➡ボタンのクリックで
30
+ 0. 3つの目のリストに追加される。
31
+ 0. それをフォルダーを選択しなおして繰り返す。
32
+ 0. 3つ目のリストのブックを「印刷」ボタンで印刷する。
33
+
34
+ ---
35
+ ファイルの存在するフォルダーが固定でなく、任意のフォルダーを選択できるようにしたい場合は、上記の①で回答したようにファイルダイアログ(GetOpenFilename)で選択したものをリストボックスにどんどん追加していくというUIが適切と考えられます。
36
+ ![イメージ説明](9cd16d5a5fd280e1300d07b676fd949d.png)
37
+
38
+ これらはほんの一例です。作業内容を分析して、どのようなUIが適切なのか、ご自身で検討してください。コーディングはUIが決定してからです。