|
お世話になっております。
いろいろとありがとうございます。 ご教授いただいた内容を週末に考えてみました。 というか、net上で似たようなものを組み合わせて作ってみました。
> 【Excel VBAでの処理の流れ】 > (1) 指定のディレクトリ(会社のLAN内のサーバーの保管場所)の直下のxlsを調べます。 > (A.xls、B.xlsといったファイルパスの情報を配列などに一覧化します) >
この部分は以下で対応できているのではないかと考えております。
Sub MakeFileList()
Target = InputBox("ディレクトリ名を入力", "ディレクトリの指定", "\\a0nd155\△\△△△△ファイル")
Set FS = CreateObject("Scripting.FileSystemObject") Set Fol = FS.GetFolder(Target) Set Fil = Fol.Files ThisWorkbook.Sheets("Sheet1").UsedRange.Delete
'見出しを付ける ThisWorkbook.Sheets(1).Range("B2") = "ファイル名" ThisWorkbook.Sheets(1).Range("C2") = "ファイル種別" ThisWorkbook.Sheets(1).Range("D2") = "最終更新日" ThisWorkbook.Sheets(1).Range("E2") = "説明" ThisWorkbook.Sheets(1).Range("B2:E2").Interior.Color = RGB(0, 0, 0) ThisWorkbook.Sheets(1).Range("B2:E2").Font.Color = RGB(255, 255, 255) ThisWorkbook.Sheets(1).Range("B2:Es2").HorizontalAlignment = xlCenter
i = 3 For Each Fx In Fil 'ファイル名 sFile = Fx.Name 'ファイル名の書き出し ThisWorkbook.Sheets(1).Cells(i, 2) = sFile 'ファイル種別 sFType = Fx.Type '最終更新日時の書き出し ThisWorkbook.Sheets(1).Cells(i, 3) = sFType '最終更新日 sLMod = Fx.DateLastModified
ThisWorkbook.Sheets(1).Cells(i, 4) = sLMod i = i + 1 Next End Sub
が、以下の部分は、操作のイメージが湧かず、 ご教授いただいた処置ができませんでした。 今のところ、sheet1にファイル名の羅列はできております。 そこから先ですが、処置についてヒントだけでも教えていただけないでしょうか。
> (2) 調べ上げた個々のxlsファイル一つ一つに対して以降の処理を行います。 > (個々のxlsファイルのことを「処理対象のxlsファイル」と呼ぶことにします。 > 今何ファイル目を処理しているかという値をNとします。) > > (3) 「処理対象のxlsファイル」の該当シートから品名(A1セル)、値段(B2セル)、仕様(A3セル)、入数(A5セル)の値を取得し、 > 「まとめ用xlsファイル」の「まとめ用シート」の(N+1)行目のA列から順に品名、値段、仕様、入数をセルに設定します。 > > (4) (1)で一覧化したファイル数分だけ(3)を繰り返します。
|