[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ファイル日時を取得したい。』(KUKI)
FTPサーバーにアップされているファイルを検索して目的のファイルを自分のPCに落とすという動作をAPI関数を使って行ってまして、 FTPサーバーの指定したフォルダ内のすべてのファイルをリストボックスに表示して,そこから目的のファイルを選択してダウンロード するという感じにしているのですが、サーバー内の、あるひとつのフォルダのファイル数がかなり多くなってきていて、 目的のファイルを探すのに時間がかかってしまいます。 サーバー内のファイルはこちらからは削除ができないようになっています。
そこで、日時を指定してそれ以降にアップされたものしか抽出しないようにしたいのですが、 FTPサーバーにあるファイルの作成日時を取得する方法がわかりません。 ご存じの方がいらっしゃいましたらご教示いただけますでしょうか。 よろしくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
参考 http://www.moug.net/tech/exvba/0130015.html
リンクだけだとなんなので。 (リンク先も読んでください。参照設定が必要)
Sub Sample()
Dim FSO As FileSystemObject
Set FSO = New Scripting.FileSystemObject
'↓これ適当なので、拡張子のとこかなりいい加減。
OFile = Application.GetOpenFilename("Excelファイル (*.xlsx), *.xlsx", , "タイトル")
With FSO.GetFile(OFile)
MsgBox .DateCreated & vbCrLf & _
.DateLastModified
End With
End Sub
(BJ) 2018/05/21(月) 02:58
事前にftpコマンドをテキスト化し、ブックと同じフォルダに置いておく。(例:test.scr)
open 接続先名またはIPアドレス
ログイン名
パスワード
ls -lt
quit
以下は、マクロのコード。
Sub test()
Dim vList As Variant
Dim cPath As String
Dim i As Long
cPath = ThisWorkbook.Path & "\"
vList = Split(CreateObject("WScript.Shell").Exec("CMD /C FTP -s:""" & cPath & "test.scr""").StdOut().ReadAll(), vbNewLine)
For i = 1 To UBound(vList) - 1
If vList(i) = "" Then
Exit For
End If
Cells(i, "A").Value = Mid(vList(i), 57)
Cells(i, "B").Value = CDate(Mid(vList(i), 44, 12))
Next i
End Sub
(???) 2018/05/21(月) 09:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.