!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑2行に減ってるけど、同じ内容を3行に増やして貼り付けるナリ
ExcelのVBAに関する質問スレナリ
コード書き込みや作成依頼もOKナリ
※前スレ
Excel VBA 質問スレ Part74
https://mevius.5ch.net/test/read.cgi/tech/1639932059/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part75
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (スフッ Sd7f-wadS)
2022/02/09(水) 14:24:32.62ID:I0u44nFvd2デフォルトの名無しさん (アウアウウー Sa9b-4tZW)
2022/02/10(木) 10:32:50.12ID:NHAjzQuTa >>1
乚
乚
3デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 15:15:12.01ID:nfSYASk10 時々お世話になっています。
方針を確認したいです。
やりたい事は、特定のフォルダを指定して、その中にあるフォルダ・ファイルの中から最新の更新日を取得する
です。
今考えているやり方は、
@特定のフォルダを取得する(エクセル内にパスの指定あり)
Aサブフォルダを含むすべてのフォルダパスを取得
Bサブフォルダを含むすべてのファイルパスを取得
C取得したフォルダパスとファイルパスの最新更新日時を取得
Dその中から一番最新の日時を取得
です。
他に簡単な手順ってあるでしょうか?
ヒントでもいただけるとうれしいです。
よろしくお願いします。
方針を確認したいです。
やりたい事は、特定のフォルダを指定して、その中にあるフォルダ・ファイルの中から最新の更新日を取得する
です。
今考えているやり方は、
@特定のフォルダを取得する(エクセル内にパスの指定あり)
Aサブフォルダを含むすべてのフォルダパスを取得
Bサブフォルダを含むすべてのファイルパスを取得
C取得したフォルダパスとファイルパスの最新更新日時を取得
Dその中から一番最新の日時を取得
です。
他に簡単な手順ってあるでしょうか?
ヒントでもいただけるとうれしいです。
よろしくお願いします。
4デフォルトの名無しさん (ワッチョイ 17b0-5flp)
2022/02/10(木) 15:37:12.23ID:x6E7pXvm0 powershellならこれだけなんだが
ls -recurse|sort-object -property LastWriteTime -Descending|select-object -First 1|%{$_.LastWriteTime}
VBAからpowershell呼び出せば?
ls -recurse|sort-object -property LastWriteTime -Descending|select-object -First 1|%{$_.LastWriteTime}
VBAからpowershell呼び出せば?
5デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/10(木) 15:44:08.91ID:M1zV1i+Cd >>3
一般的だと思うけどフォルダ内の検索はそれ自身を一つの関数Aにしてその関数の中で関数Aを呼び出すと思う
関数は例えばこんな感じ Sub ProcA(ByVal pFolder As String, ByRef pDate as Date)
中はこんな感じどっちが先でも構わない
pFolder内のフォルダ一覧を取得してフォルダ分ProcAを呼ぶ
pFolder内のファイル一覧を取得して最新日時をpDateに戻す
なので手順は
@特定のフォルダを取得する(エクセル内にパスの指定あり)
AProcAを呼ぶ(これでサブフォルダ内も含めて全部検索してくれる)
BpDateが最新日時
一般的だと思うけどフォルダ内の検索はそれ自身を一つの関数Aにしてその関数の中で関数Aを呼び出すと思う
関数は例えばこんな感じ Sub ProcA(ByVal pFolder As String, ByRef pDate as Date)
中はこんな感じどっちが先でも構わない
pFolder内のフォルダ一覧を取得してフォルダ分ProcAを呼ぶ
pFolder内のファイル一覧を取得して最新日時をpDateに戻す
なので手順は
@特定のフォルダを取得する(エクセル内にパスの指定あり)
AProcAを呼ぶ(これでサブフォルダ内も含めて全部検索してくれる)
BpDateが最新日時
6デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/10(木) 15:50:58.22ID:M1zV1i+Cd >>4
これだとフォルダの日時も対象になってしまわない?
これだとフォルダの日時も対象になってしまわない?
7デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 16:04:20.32ID:nfSYASk10 >>4
ありがとうございます。
powershellだとそんなに短くなるんですね・・・
ただ私を含め、powershellに詳しい人が周りにいないのと、
私が死んでもメンテナンスできる状態にしておきたいので、今回はVBAで作成をしたいです。
(でもそのコードは保存させていただきます。)
勉強になります。ありがとうございます。
ありがとうございます。
powershellだとそんなに短くなるんですね・・・
ただ私を含め、powershellに詳しい人が周りにいないのと、
私が死んでもメンテナンスできる状態にしておきたいので、今回はVBAで作成をしたいです。
(でもそのコードは保存させていただきます。)
勉強になります。ありがとうございます。
8デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 16:09:01.41ID:nfSYASk109デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 16:10:41.24ID:nfSYASk1010デフォルトの名無しさん (ワッチョイ ff2c-2zGl)
2022/02/10(木) 16:25:27.01ID:J5PrGMnU0 Ruby のglob では、** で、フォルダ以下を再帰的に処理する
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/**/*"
puts Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.max_by { |full_path| File.mtime( full_path ) } # 更新時刻が最も最近のファイルパス
# 絶対パスのディレクトリ名の後ろに、* を付けること!
# . で始まる、隠し directory, file を除く
glob_pattern = "C:/Users/Owner/Documents/test/**/*"
puts Dir.glob( glob_pattern )
.select { |full_path| File.file?( full_path ) } # ファイルのみ
.max_by { |full_path| File.mtime( full_path ) } # 更新時刻が最も最近のファイルパス
11デフォルトの名無しさん (ワッチョイ ff63-foD4)
2022/02/10(木) 16:53:52.57ID:jnAzFgRy0 前スレで「VBA内で今まで使えてたKillが急に使えなくなった」野郎ですが、システムの復元で先月に戻したら直った。
たぶんOfficeの最新のアップデートがクソ。
VBA内で作って使い終わったADODBを削除する部分。
10年くらい使い続けてるし、connectionとかちゃんとcloseしてるのに。
たぶんOfficeの最新のアップデートがクソ。
VBA内で作って使い終わったADODBを削除する部分。
10年くらい使い続けてるし、connectionとかちゃんとcloseしてるのに。
12デフォルトの名無しさん (ワッチョイ 372f-2zGl)
2022/02/10(木) 18:14:16.34ID:lf0ILJru0 >>7
そもそもVBAで作る意味がわからんが
自分で作れもしないものを俺が死んでもメンテしろとか...
なにをやるかだけをドキュメントなりコメントなりで残せよ
あとの人はそれ見て自分でできるやり方でやればいいだけ
そもそもVBAで作る意味がわからんが
自分で作れもしないものを俺が死んでもメンテしろとか...
なにをやるかだけをドキュメントなりコメントなりで残せよ
あとの人はそれ見て自分でできるやり方でやればいいだけ
13デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 18:19:09.16ID:nfSYASk10 >>10
Rubyでもそんなに短くなるんですね。
もしかしてVBAが一番大変なんじゃないかと思えてきます。
すみません。Rubyは私が全く使えないため、今回は見送らせていただきます。
コードまで記載していただいたのに申し訳ないです。
ありがとうございました。
Rubyでもそんなに短くなるんですね。
もしかしてVBAが一番大変なんじゃないかと思えてきます。
すみません。Rubyは私が全く使えないため、今回は見送らせていただきます。
コードまで記載していただいたのに申し訳ないです。
ありがとうございました。
14デフォルトの名無しさん (ワッチョイ 372f-2zGl)
2022/02/10(木) 18:22:09.15ID:lf0ILJru0 ふと思ったが、ファイル列挙を再帰で処理するときになにも考えずに
うっかり上位フォルダへのショートカットとか処理したらループするのな
素のVBAでやるならDir関数だろうけど、これショートカットとかどう処理するんだろ
うっかり上位フォルダへのショートカットとか処理したらループするのな
素のVBAでやるならDir関数だろうけど、これショートカットとかどう処理するんだろ
15デフォルトの名無しさん (ワッチョイ bfe6-AiWJ)
2022/02/10(木) 18:23:45.71ID:nfSYASk10 >>12
VBA(エクセル)であれば多少使える人が周りにいるため、メンテナンスが可能だと思いました。
自動化した処理はコード内のコメントでも残しますし、ドキュメントにも記載します。
>>自分で作れもしないものを俺が死んでもメンテしろとか...
これは確かに・・・自分で作れていない以上ぐうの音も出ません。
VBA(エクセル)であれば多少使える人が周りにいるため、メンテナンスが可能だと思いました。
自動化した処理はコード内のコメントでも残しますし、ドキュメントにも記載します。
>>自分で作れもしないものを俺が死んでもメンテしろとか...
これは確かに・・・自分で作れていない以上ぐうの音も出ません。
16デフォルトの名無しさん (ワッチョイ 1763-I0BZ)
2022/02/10(木) 18:27:43.99ID:Cq74F0AH0 こんな簡単な処理もできないのにVBAならできると言うか
17デフォルトの名無しさん (スップ Sdbf-zD41)
2022/02/10(木) 18:56:39.50ID:M1zV1i+Cd18デフォルトの名無しさん (ワッチョイ ffda-wadS)
2022/02/10(木) 19:15:17.51ID:tWYuVSEa0 >>3
Power Query で親のフォルダ指定すると、サブフォルダも含めた
ファイル名、拡張子、アクセス日時、更新日時、作成日時、パス
の一覧を作ってくれる。
作成日時か更新日時で降順して1から始まるインデックス付けて、
BinaryとかRecordの余計な列は削除して、クエリーテーブルとしてsheetに読込ませたら、
あとは外のセルからINDEX・MATCH関数で
「インデックスの列が1」の行のパス&"\"&ファイル名を表示させる。
VBAはこのbookを開いたときにクエリー更新させるとか、
ボタンでクエリー更新させるとか。
Power Query内にセルに指定したフォルダパスを取り込むときは
そのセルを名前定義しておいて、
let
定義名 = Excel.CurrentWorkbook(){[Name="定義名"]}[Content]{0}[Column1],
ソース = Folder.Files(定義名)
in
ソース
これが元ネタ
https://stackoverflow.com/questions/49281763/powerquery-use-a-cell-values-in-a-url
Power Query で親のフォルダ指定すると、サブフォルダも含めた
ファイル名、拡張子、アクセス日時、更新日時、作成日時、パス
の一覧を作ってくれる。
作成日時か更新日時で降順して1から始まるインデックス付けて、
BinaryとかRecordの余計な列は削除して、クエリーテーブルとしてsheetに読込ませたら、
あとは外のセルからINDEX・MATCH関数で
「インデックスの列が1」の行のパス&"\"&ファイル名を表示させる。
VBAはこのbookを開いたときにクエリー更新させるとか、
ボタンでクエリー更新させるとか。
Power Query内にセルに指定したフォルダパスを取り込むときは
そのセルを名前定義しておいて、
let
定義名 = Excel.CurrentWorkbook(){[Name="定義名"]}[Content]{0}[Column1],
ソース = Folder.Files(定義名)
in
ソース
これが元ネタ
https://stackoverflow.com/questions/49281763/powerquery-use-a-cell-values-in-a-url
19デフォルトの名無しさん (ワッチョイ ffda-zD41)
2022/02/10(木) 19:24:51.89ID:hZgX7eKD0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「こども2万円給付」は“ずるい”?「子持ちだけ優遇されてる」「来年から独身税もあるのに」…子育て世帯への支援は“不公平”なのか★2 [♪♪♪★]
- 「こども2万円給付」は“ずるい”?「子持ちだけ優遇されてる」「来年から独身税もあるのに」…子育て世帯への支援は“不公平”なのか★3 [♪♪♪★]
- 高市首相「従来の立場超えたと受け止められ反省」 存立危機発言巡り ★3 [蚤の市★]
- 【東京】赤坂サウナ火事2人死亡 サウナ室のドアノブ外れ閉じ込められた可能性 ★6 [nita★]
- 「ここぞとばかりにBreakingDownを叩いてる奴らが気持ち悪くてしょうがない」元王者が騒ぐ世論に苦言 [王子★]
- フィンランド、ミスや国会議員つり目投稿 くり返されるアジア人差別 ★4 [蚤の市★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪
- 【安倍晋三】キッズドア冬休み食料支援、クリスマス締め切り。今回も子どもたちを飲みィの食べェの食べまくりさせないか? [196352351]
- 【朗報】にじさんじを卒業した人気Vチューバー、まさかの復活
- 【高市速報】ヤフコメアンケート「上野動物園にパンダは必要?」パンダはいらないが脅威の90%😳 [931948549]
- 3時のおやつ🧁はふなふなキャンディー🍬🏡
- 「唯一のメリットが…」静岡空港から無料駐車場が消える、有料エリアは2倍に値上げ [943688309]
