- ベストアンサー
フォルダ内のエクセル文書をすべて印刷したいデス
1つのフォルダに ファイルが100個くらいあり それぞれ 1~3シートのBookになています。 すべてのシートを印刷したいのですが 毎回 ファイルを開いてシートを選択しないとできません。 一括で処理する方法をご存知の方 教えて頂けないでしょうか。 (>_<)よろしくお願いしますぅぅ
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>まだ使い方が分かりません。。 エクセルを開いて、[Alt] + [F11] でマクロを編集する画面(VBE)が現れます。 その画面で、[挿入] - [標準モジュール] を選択すると、マクロを記述する画面が現れます。 そこに、Sub ~ End Sub までの行をコピーして貼り付けてください。 一行目の「Sub test()」の "test" の文字は任意に書き換えできます。「一括印刷」などの解りやすい名前にしても良いでしょう。 「Fol = "C:\Tmp"」の "" の内側には、ファイルが入っているフォルダのフルパスを書き込んでください。 実行するには、マクロ文中にカーソルを置いて、VBEの[|>](横向き三角ボタン)をクリックすれば実行できます。 若しくは、エクセルの画面で [Alt] + [F8] で実行するマクロを選択する画面が現れます。 まずは、適当なフォルダを作成し、印刷対象ファイルを数個置いて、そのフォルダを対象にして実行テストをして見てください。
その他の回答 (5)
- pascal3141
- ベストアンサー率36% (99/269)
ワードの文書の入ったフォルダの中の一つだけ通常通り開いて印刷してください。次から残りのワード文書を範囲指定して選び、右クリックで「印刷」とすればいいです。なぜ、このようにするかというと、ただ範囲指定して印刷とすると、一つファイルを開くごとにワードを立ち上げてから読み込む作業をすることになり、メモリーも大幅に消費してしまいます。そのため、一つだけワードを立ち上げた状態でするとそのようなことが起こらず早くできます。
お礼
回答 ありがとうございました。 教えていただいた方法を試してみたところ 各Bookの 選択されているシートのみが印刷されました。 最初に開いたファイルで 印刷するときに「BOOK全体」を選択したので 次のファイルからも同じように印刷されると思ったんですが。。。残念(>_<) シートが一枚のファイルをたくさん印刷する作業もあるので この方法で印刷するようにします。(^^)
- shiotan99
- ベストアンサー率68% (140/203)
こんにちは~。 No.3の方のは複数のファイルをただ開くだけですよね。 複数のファイルをいちいち開かずに印刷する方法ですが、 マクロなんか使わなくても、そのフォルダを開いて、印刷したいファイルをすべて選択したあと、メニューの「ファイル」-「印刷」、または右クリックして「印刷」を選べばできませんか? 100個もファイルがあるなら、いくつかに分けてやった方がいいかもしれませんが・・。
お礼
回答 ありがとうございました。 ワタシも その方法で出来ると思っていたのですが 2枚目 3枚目のシートが印刷されないようで。。。 何かやり方がまずかったのでしょうか。(;_;)
- naop75
- ベストアンサー率34% (216/624)
#1です。 >[ファイルを開く]ダイアログ とは どれのことでしょう?^^; まずExcelを起動させてから [ファイル]-[開く]をクリックすると [ファイルを開く]というのが出てきますね。 これのことです。 この状態で Ctrlキーを押しながら、ファイル名をクリックすると 複数のファイルが選択できます。 ためしに、Ctrlキーを押しながら フォルダを一個おきに、この動作をおこなってみてください。 そうすると分りやすいかと思います。 Shiftキーを押しながファイル名をクリックすると 一番上のファイルから、クリックされたファイルまで 全て選択できます。 このような方法で、フォルダを選択して 開くをクリックすると、一度に複数のフォルダを 開くことが出来ます。
お礼
詳細ご説明 ありがとうございました。 こんな方法で 一括で開くことができるとは 知りませんでしたっ 印刷はしなくても データのみの移動作業もあるので 大変参考になりました(^^) あとは それを 全シート一括印刷する方法があれば。。ですね^^;
- hana-hana3
- ベストアンサー率31% (4940/15541)
こんなところでいかがでしょうか? ブックを連続で開いて印刷します。 Sub test() Dim Fol As String Dim Fname As String Dim Ws As Worksheet Fol = "C:\Tmp" Fname = dir(Fol & "\*.xls") Do While Fname <> "" If Fname <> ThisWorkbook.Name Then Workbooks.Open Fol & "\" & Fname For Each Ws In Worksheets Ws.PrintOut Next Workbooks(Fname).Close SaveChanges:=False End If Fname = dir() Loop End Sub
お礼
さっそくの回答 ありがとうございます。 マクロを組んで頂いたのでしょうか??(゜o゜*) 残念なことに マクロの存在を知ったばかりで まだ使い方が分かりません。。 マクロが使えないなら 手動でやるしかない ということですね。。(>_<)ワタシのバカッ
- naop75
- ベストアンサー率34% (216/624)
こんにちは。 複数のシートを一度に印刷する方法は こちらを参考にしてみて下さい。 http://www.relief.jp/itnote/archives/000415.php 開いていないファイルを印刷する方法は 分りませんでした。
お礼
さっそくのアドバイス ありがとうございます。 [ファイルを開く]ダイアログ とは どれのことでしょう?^^;
お礼
詳細ご説明 ありがとうございました。 すばらしいっっ!!!! 探していた方法は まさにこれです ヾ(≧o≦)ツ マクロの勉強も出来て 一括印刷もできて なんとお礼を申し上げればよいか <(__*)> <(__*)> <(__*)> 本当にありがとうございました♪