Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


9950 / 13646 ツリー ←次へ | 前へ→

【24564】フォルダ内のファイルを一括印刷 じーま 05/4/26(火) 15:31 質問[未読]
【24565】Re:フォルダ内のファイルを一括印刷 Kein 05/4/26(火) 15:46 回答[未読]
【24566】Re:フォルダ内のファイルを一括印刷 じーま 05/4/26(火) 16:24 お礼[未読]
【24578】Re:フォルダ内のファイルを一括印刷 m2m10 05/4/27(水) 8:00 回答[未読]
【24624】Re:フォルダ内のファイルを一括印刷 YN61 05/4/28(木) 21:40 質問[未読]
【24625】Re:フォルダ内のファイルを一括印刷 Kein 05/4/28(木) 21:57 発言[未読]
【24634】Re:フォルダ内のファイルを一括印刷 YN61 05/4/29(金) 7:56 お礼[未読]

【24564】フォルダ内のファイルを一括印刷
質問  じーま  - 05/4/26(火) 15:31 -

引用なし
パスワード
   一つのフォルダ内の数種類のファイルを一括で印刷する方法はありませんか?
できればコードも教えてください。
一括でなくても、最終的にフォルダ内のファイルを全て印刷できれば結構ですが・・・
初心者の私ではさっぱり〜です

よろしくお願いします。

【24565】Re:フォルダ内のファイルを一括印刷
回答  Kein  - 05/4/26(火) 15:46 -

引用なし
パスワード
   Dim MyF As String
Dim WB As Workbook

On Error Resume Next
MyF = Dir("C:\Temp\*.xls")
Do Until MyF = ""
  Set WB = Workbooks.Open(C:\Temp\" & MyF)
  WB.PrintOut Copies:=1
  WB.Close False: Set WB = Nothing
  MyF = Dir()
Loop

というように、Dir関数を使って特定のフォルダー内のエクセルブックを
ループして開いていけばよいでしょう。

【24566】Re:フォルダ内のファイルを一括印刷
お礼  じーま  - 05/4/26(火) 16:24 -

引用なし
パスワード
   ありがとうございます!!
これってエクセルファイルのみですよね。
PDFやらwordやら他のファイルも一括でできないですよね・・・

でも、とりあえずこれで解消できる点もありますので
早速やってみます。

【24578】Re:フォルダ内のファイルを一括印刷
回答  m2m10  - 05/4/27(水) 8:00 -

引用なし
パスワード
   API の ShellExecute で

 "Print" が可能です、
  

http://www.geocities.jp/winapi_database/Program/Shell/ShellExecute.html

【24624】Re:フォルダ内のファイルを一括印刷
質問  YN61  - 05/4/28(木) 21:40 -

引用なし
パスワード
   ▼Kein さん:

失礼します。

大変興味を抱きました。このようなマクロが使えると
便利だと思います。
コードをコピーさせていただき操作しましたが
Do〜Loopが上手く働きません。
この場合のDirは、どのような役割をしているのでしょうか?
Tempのフォルダーの中のファイルに条件があるでしょうか。
F8で見ましたが、Do UntilからEnd Subまでとんで
しまいます。

教えていただけませんでしょうか。

【24625】Re:フォルダ内のファイルを一括印刷
発言  Kein  - 05/4/28(木) 21:57 -

引用なし
パスワード
   >Dirは、どのような役割を
そのようなことは、Dir関数のヘルプに書いてあるはずです。質問する前に
ちょっと調べてみよう、という心がけを持ってください。
>Tempのフォルダーの中のファイルに条件
もちろんあります。それは
MyF = Dir("C:\Temp\*.xls")
ということで「拡張子が xls になっているエクセルブックファイル」のみを指定して
検索しているわけです。で、Do〜Loop の構造は初めに MyF の中身を判定する形
Do Until MyF = ""
になっいてるので、Tempフォルダー内にエクセルブックが見つからないと、一度も
Do〜Loop 構造の中のコードが実行されずに、Loop より後ろへと制御が移るのです。
Do〜Loop 構造の書き方は分かりますか ? それもVBAの基本ですから参考書や
Webサイトで学習して下さい。

【24634】Re:フォルダ内のファイルを一括印刷
お礼  YN61  - 05/4/29(金) 7:56 -

引用なし
パスワード
   ▼Kein さん:
早速の解説ありがとうございました。
よく理解できました。
これからもよろしくお願いします。

9950 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free