[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『リスト化されている表から自動的にファイルを印刷』(める)
工場勤務をしております。
毎日リストが送られてきてそれに対応するファイルを
印刷する作業をマクロで簡略化したいと思っています
エクセルの表からファイル名を拾って自動的に印刷する場合
ファイルを開くマクロを改造し、ファイルを開く→印刷→ファイルを閉じる
というマクロを組めば可能でしょうか?
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>ファイルを開く→印刷→ファイルを閉じる
↓の各作業のコードは出来ているのでしょうか?
ファイルを開く 印刷 ファイルを閉じる (OK) 2019/06/05(水) 11:55
印刷設定の部分を省きました
End With Application.PrintCommunication = True ActiveWindow.SelectedSheets.PrintOut Copies:=3, Collate:=True, _
これが印刷するコードです
ファイル名をセルから読み取って開くコードが
Dim fn As String
fn = Range("G4")
ChDir "ネットワーク上のドライブのフォルダ名"
Workbooks.Open Filename:=fn
でいけないかと思ってるのですがうまくいっていません。
G4から何行リストが続くのか一定でないため一つづつ行をずらして読み取らせていきたいとは思ってるんですが・・・
セルの選択だけは手動にして対応するファイルを自動印刷できれば
それでもいいかと思っていますがVBA触りはじめたばかりなのでコードのイメージはついていないです
よろしくご教授願います
(める) 2019/06/05(水) 12:48
セル範囲の取得については直近の↓が参考になるかもしれません。
[[20190530152109]] 『最終行 End(xlUP).Rowについて』(しのみや)
(OK) 2019/06/05(水) 13:22
sub test() Workbooks.Open _ Filename:="ネットワーク上のドライブのフォルダ名" & "\" & _ Activesheet.Range("G4").value end sub
みたいにします。
※スマホから手打ちしたので、構文に誤りがあるかもです。 ニュアンスとしてご理解ください。
(もこな2) 2019/06/06(木) 00:35
Dim fn As String
If Len(Range("G26").Value) > 0 Then
en = Range("G26")
pn = Range("F26")
ChDir "ネットワークドライブ上のフォルダ名"
Workbooks.Open Filename:="ネットワークドライブ上のフォルダ名" & en & pn & ".xlsx"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False ActiveWindow.Close
Else
End If
G列のセルに1行分空白が挟まることがあったり
リストの量が一定でないため空欄になることがあるので
IFを使って空白でなければ作動しないコードも記述しました
空白の部分やファイルが存在しないなどエラーが起こったときに全ての処理を止めるしかなく
エラーを無視させて続行させると元のリストファイルを印刷してしまうのでもう少しスマートなコードに
したかったのですがひとまずはこれで作動しているので様子を見ていきたいと思います。
ありがとうございました
(める) 2019/06/06(木) 09:05
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.