
タイトル通りではありますが、
1.同じフォルダにあるファイルを開く
2.印刷する(保存の必要はありません)
3.閉じる
4.次のファイルを開く
5.1~4をフォルダ内のファイル全てに適用するまで繰り返す
上記のマクロを作りたいのですが、
初心者の為、なかなか進みません。
一つずつ分解して作成したりもしましたが、どうも
ゴールが見えてこない為、知識ある方に作成していただき
それをじっくりと習得したく思います。
どなたかマクロ作成お願いできますでしょうか。
No.2ベストアンサー
- 回答日時:
Sub aaa()
f = Dir("*.xlsx")
Do While f <> ""
Set book = Workbooks.Open(f)
↓ここは、マクロの記録でオプション指定などをいろいろした方が良いでしょう。
ActiveWindow.SelectedSheets.PrintOut
book.Close
f = Dir
Loop
End Sub
No.4
- 回答日時:
> Do While f <> "ここに開きたいフォルダのアドレスを入力しました"
何故そんなことを??
Sub aaa()
chdir "C:\aaaa\bbbb\cccc" 'ファイルのあるフォルダー
f = Dir("*.xlsx")
以下そのまま
です。
No.3
- 回答日時:
こんにちは! 教えます。
①新規excel 開いて、マクロコードウィンドウで標準モジュール追加し、
以下のコードを貼り付けてください。このウィンドウ閉じてください
②excelウィンドウのメニューから開発→挿入で ボタン(フォームコントロールを挿入してください。
ボタン範囲選んだらマクロの登録画面が表示されます。表示されたPrint_Click を選んでOKおしてください。(ボタンの名前を好きな名前で結構です)
これで 印刷マクロは完成です。
ボタン押したらファイル選択画面が表示されますので印刷したいファイルを選らんでOK 印刷が始まります。
デフォルトプリンターに設定しています。
DocuWorksプリンターなどデフォルトにしておけばファイルで保存されます。
'マクロコード
Sub Print_Click()
Dim myfileName As Variant
Dim myFile As Variant
Dim strFilePath As String
Dim strfileName As String
Dim ws As Worksheet
'ファイルを開くダイアログを開きます
myfileName = _
Application.GetOpenFilename( _
FileFilter:="Excel ファイル (*.xls; *.xlsx; *.xlsm),*.xls; *.xlsx; *.xlsm" & _
",CSVファイル(*.csv),*.csv" _
, FilterIndex:=1 _
, Title:="Excelファイル選択" _
, MultiSelect:=True _
)
' 単純なループカウンタ
Dim lp1 As Long, lp2 As Long
'ファイルが選択されているときは
'選択したファイルをWorkbooks.Openメソッドで開きます
Filename = Filename
If IsArray(myfileName) Then
For Each myGetFileName In myfileName
Workbooks.Open myGetFileName
UpdateLinks = 0
IgnoreReadOnlyRecommended = Ture
Application.ScreenUpdating = False
Set Workbook = ActiveWorkbook
Sheets(1).Activate
Worksheets.Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:= _
"Active Printer Series on Ne01:", Collate:=True
Application.DisplayAlerts = False
ActiveWindow.Close
Application.ScreenUpdating = True
' 集計処理を行う
' ***************
Next
MsgBox " 印刷終了しました。"
Else
MsgBox "キャンセルしました。"
End If
Exit Sub
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
複数ファイルにある特定のシートを一度に印刷したい
Excel(エクセル)
-
フォルダ内のエクセル文書をすべて印刷したいデス
Excel(エクセル)
-
VBAでホルダー内のPDFを一括印刷したい
Excel(エクセル)
-
-
4
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
5
複数ブックの印刷マクロを作成したいと思っています。
Excel(エクセル)
-
6
Excel VBAで同じフォルダ内のファイルを開くには?
Excel(エクセル)
-
7
エクセルで、特定のシートを印刷するVBA
Excel(エクセル)
-
8
EXCEL VBAでPDFファイルを開いて印刷
Visual Basic(VBA)
-
9
特定のセルに数値が入っているシートのみ印刷する方法
Excel(エクセル)
-
10
vbaでpdfを開いて1ページ目のみ印刷する。
PDF
-
11
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
-
12
【Excel VBA】マクロでExcel自体を終了させたい
Excel(エクセル)
-
13
マクロで印刷→セルの値から部数変更するには
Excel(エクセル)
-
14
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
15
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
16
EXCEL マクロ 条件の合ったシートだけ印刷したい
Excel(エクセル)
-
17
エクセルのマクロで複数シートを両面印刷するには?
Excel(エクセル)
-
18
印刷要求順番と印刷出力順番が違う。
Visual Basic(VBA)
-
19
エクセルのマクロで印刷プレビューを閉じる方法
Excel(エクセル)
-
20
フォルダ内のファイル全てを印刷したい
その他(OS)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの保存場所を変えたら...
-
【マクロ】変数に入れるコード...
-
ファイルを開かずにマクロを実行
-
accessフォルダを移動したらフ...
-
EXCEL VBA 指定したファイルが...
-
フォルダ内のexcelファイルを順...
-
エクセル 複数ファイルの一括...
-
秀丸:あらかじめ設定した複数...
-
【マクロ】名前を保存する際に...
-
Excelマクロについて
-
VBAでワークブックの名前を変数...
-
エクセルファイルを開く時、関...
-
vlookup関数の引数を変数で指定...
-
生鮮MDシステムについて。
-
ISOファイルとMDSファイル
-
差し込み印刷の元データファイ...
-
イーファンビューでwebpファイ...
-
多数のeml形式ファイルを1つの...
-
【パワーポイント】「ファイル...
-
エクセルで質問です。 ハイパー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
【マクロ】変数に入れるコード...
-
データ参照先が別ファイルの場...
-
フォルダ内のexcelファイルを順...
-
エクセルマクロで不特定なファ...
-
【Excel VBA】ファイル名が一...
-
【マクロ】名前を保存する際に...
-
ファイルの保存場所を変えたら...
-
秀丸:あらかじめ設定した複数...
-
フォルダ内のブック全部にパス...
-
エクセル 複数ファイルの一括...
-
ファイルを開かずにマクロを実行
-
accessフォルダを移動したらフ...
-
vba初心者です。 質問です。 毎...
-
Excelのマクロでファイルを開く...
-
EXCELマクロを無効にして開く方法
-
エクセルのシートの数を数えた...
-
エクセルファイルを開く時、関...
-
Excel VBA seleniumのedge操作...
-
ワード2007で複数ファイル自動...
おすすめ情報
ぽち101さん
ご回答ありがとうございます。
実際のところ、印刷する前に特定の列を
非表示してから印刷するという手順があるのですが、
列の非表示は自分でやりかたが分かったたので、
教えていただいたものに組み合わせてみようと想定しておりました。
excel2010になります・・・
拡張子は.xlsxです。
artooさん
ありがとうございます。
教えていただいたものに、
以下のように開きたいフォルダのアドレスを入力しましたが、
なぜか別のフォルダ(どこかは現在調べております)の
エクセルが開いて印刷されてしまいました。
私のフォルダの入力場所が間違っておりますでしょうか。
Sub aaa()
f = Dir("*.xlsx")
Do While f <> "ここに開きたいフォルダのアドレスを入力しました"
Set book = Workbooks.Open(f)
皆様 ご回答ありがとうございます。
作成していただいたものを使用して、
もう少しで完成しそうです。