advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 71 for ExecuteExcel4Macro 閉じた|開いて|開かず (0.012 sec.)
executeexcel4macro (140), 閉じた (629), 開いて (4904), 開かず (263)
[[20200220153500]]
#score: 14119
@digest: a2ca753f5d8cdd38d611e0fdee14c0e5
@id: 82407
@mdate: 2020-02-20T10:04:10Z
@size: 3578
@type: text/plain
#keywords: 注フ (11726), ズ番 (11604), asht (9933), 回起 (9264), ダa (8745), 体番 (8401), 個体 (7862), 字強 (6766), 方メ (3889), 号", (3181), ダ以 (2730), 受注 (2675), 規フ (2616), 終更 (2123), 新日 (1772), ファ (1743), 毎回 (1568), ォル (1503), ァイ (1350), ルダ (1287), ブフ (1262), ル以 (1173), イル (1130), フォ (1054), ブッ (1038), 日時 (1015), 太字 (983), 木) (936), 原本 (930), ダ内 (915), 2020 (908), 新規 (856)
『一つのフォルダに次々と追加される新規ファイルの中の情報を、別のファイルのセルに取得する方法』(11号)
当方メーカーですが新規受注があるとひとつのフォルダAに1受注1ファイルが作成されていきます。ファイル名は「58548×××」のような数字と日本語の混ざったものです。 作成したいのは、新規ファイルなのですが、それは、フォルダA内に次々と新規作成されるファイルの中のセルA1に入っている「個体番号」とセルA2に入っている「サイズ番号」を自動で取得できるファイルです。 どのようにすればよろしいか知恵をおかしいただけますでしょうか。 何卒よろしくお願いいたします。 < 使用 Excel:Excel2016、使用 OS:Windows10 > ---- フォルダA内のファイル名を全部?取得し、各ファイルの取得したいセルとリンクする数式を書き込むようにすればいいのではないでしょうか? (回答ではないです) 2020/02/20(木) 15:49 ---- 始点となるフォルダ以下を、サブフォルダまで全て調べて、Excelブックなら片っ端から開いて、セルの値を得れば良いでしょう。 似たようなコードはここで何度も書いてますから、"DIR /A:-D/B/S" 辺りをキーワードにして検索してみてください。 それより、フォルダ内には受注ファイル以外のブックは存在しないのでしょうか? もし違うブックも混じっているなら、ファイル名やシート名に、一定の決まりはありますか? あと、必要な情報は2セル分との事ですが、では1つのブックで2列だけ抜き出して良いのですか? どのブックから開いたとか、ブックの最終更新日時とか、原本に繋がる情報は要らないのでしょうか。 私だったら、更新日時が変わっていたり、追加されたファイルがあれば、太字強調とか考えますよ。 (???) 2020/02/20(木) 15:51 ---- フォルダ内には受注ファイル以外はないです。 どのブックから開いたかがわかればうれしいです。 ブックを開かずにそのブックの中のデータの一部を取得することは可能なのでしょうか。 (11号) 2020/02/20(木) 16:03 ---- Sub main() Dim FSO As Object, f As Variant, wb As Workbook, asht As Worksheet, ctr As Long, foln As String Set asht = ActiveSheet asht.Range("A1:C1").Value = Array("個体番号", "サイズ番号", "ファイル名") With Application.FileDialog(msoFileDialogFolderPicker) .Title = "フォルダAを選択してください" If .Show = True Then foln = .SelectedItems(1) End With Set FSO = CreateObject("Scripting.FileSystemObject") For Each f In FSO.GetFolder(foln).Files If asht.Range("C:C").Find(f.Name, , , xlWhole) Is Nothing Then Set wb = Workbooks.Open(Filename:=f, ReadOnly:=True) asht.Range("A" & Rows.Count).End(xlUp).Offset(1).Resize(, 3).Value = Array(wb.Sheets(1).Range("A1"), wb.Sheets(1).Range("A2"), f.Name) ctr = ctr + 1 wb.Close False End If Next f If ctr > 0 Then MsgBox "今回の処理で新たに" & ctr & "件追記しました。" Else MsgBox "今回の処理で追加ありません" End If End Sub (mm) 2020/02/20(木) 16:06 ---- ExecuteExcel4Macroという、古いExcelとの互換で残っている命令があるので、調べてみてください。 拾うデータが少ない場合には使えます。 しかしながら、ブックとして開かないだけであり、Excel自体は裏でファイルとして開いているわけで、普通に開いて取り出した方が判りやすいと思いますよ? (???) 2020/02/20(木) 16:15 ---- mmさん、???さん、ありがとうございます。 mmさんのVBAを実行したところ、何ファイルもエクセルが開いているような挙動になったのですがこれは毎回起きるのでしょうか? (11号) 2020/02/20(木) 17:14 ---- >これは毎回起きるのでしょうか? 毎回、というのがどういう意味か分かりませんが、 何回か起動してみたら毎回起きるかどうか判断で きるとともいます。 逆に、毎回おきないのであれば、不具合があると いうことになります。 (OK) 2020/02/20(木) 18:42 ---- ↑の私のレスは勘違いでした。 スルー願います。 (OK) 2020/02/20(木) 19:04 ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/202002/20200220153500.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97056 documents and 608292 words.

訪問者:カウンタValid HTML 4.01 Transitional