Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


3423 / 13644 ツリー ←次へ | 前へ→

【62295】イントラ上のサーバーにあるCSVファイルの更新日 とんぼ 09/7/8(水) 10:58 質問[未読]
【62321】Re:イントラ上のサーバーにあるCSVファイル... もも 09/7/8(水) 17:55 発言[未読]
【62334】Re:イントラ上のサーバーにあるCSVファイル... とんぼ 09/7/10(金) 10:03 お礼[未読]
【62335】Re:イントラ上のサーバーにあるCSVファイル... とんぼ 09/7/10(金) 11:25 お礼[未読]

【62295】イントラ上のサーバーにあるCSVファイル...
質問  とんぼ  - 09/7/8(水) 10:58 -

引用なし
パスワード
   おはようございます。
社内のイントラ上にあるサーバーのCSVファイルから支店の端末にデータを反映させることまではできたのですが、そのCSVファイルの更新日を取得して「データは2009年○月○日分です」と表示したいのです。色々試して過去ログも調べたのですが、どうしてもできません。有効な方法があれば、是非ご教授をお願いいたします。

Sub 実績()
Dim N As Worksheet
Dim KouSinD As Date
Set N = Worksheets.Add
  With N.QueryTables.Add(Connection:="TEXT;HTTP://10.100.○.○/フォルダ名/ファイル名.CSV" _
    , Destination:=Range("A1"))
    .TextFileCommaDelimiter = True
    .Refresh BackgroundQuery:=False
  End With  
'インポートまではうまく行くのですが・・・。
    KouSinD = FileDateTime("HTTP://10.100.○.○/フォルダ名/ファイル名.CSV")
'ここで実行時エラー'5':「プロシージャの呼び出し、または引数が不正です」と出ます。
MsgBox KouSinD
End Sub

¥¥CSV〜でサーバーのファイルを指定すると、別の支店(セグメント)で動かしたときに最初のデータダウンロードもできない状況です。
なんとかサーバー上にあるCSVファイルの更新日を取得できないものでしょうか?初心者でお恥ずかしい限りですが、よろしくご教授ください。

【62321】Re:イントラ上のサーバーにあるCSVファイ...
発言  もも  - 09/7/8(水) 17:55 -

引用なし
パスワード
   ▼とんぼ さん:
こんにちは

同じようなイントラの環境が無いので動くかわかりませんが
私のLAN環境では以下のような感じで取得できました。

参考になれば・・・

ただし「\\」から始まる表記でのテストしかしていません。

Sub test()
Dim strFileName As String
Dim 作成日 As Date, 最終アクセス日 As Date, 最終更新日 As Date
Dim objFile As Object

strFileName = "\\から始まる表記でのフォルダ\Test.csv"

Set objFile = CreateObject("Scripting.FileSystemObject").GetFile(strFileName)

作成日 = .DateCreated
最終アクセス日 = .DateLastAccessed
最終更新日 = .DateLastModified

End Sub

【62334】Re:イントラ上のサーバーにあるCSVファイ...
お礼  とんぼ  - 09/7/10(金) 10:03 -

引用なし
パスワード
   ▼もも さん:
レスありがとうございます。
返事が遅くなり大変申し訳ありません。

ただいま出張から帰ったばかりで、実際にはまだ試しておりませんが、取り急ぎお礼まで。ありがとうございました。

【62335】Re:イントラ上のサーバーにあるCSVファイ...
お礼  とんぼ  - 09/7/10(金) 11:25 -

引用なし
パスワード
   ▼もも さん:
Sub test()
Dim strFileName As String
Dim 作成日 As Date, 最終アクセス日 As Date, 最終更新日 As Date
Dim objFile As Object

strFileName = "\\サーバー上のファイル.csv"
'こちらは同一セグメントでは完璧に動きましたが、違うセグメントでは「ファイルが見つかりません」とエラーになりました。
'strFileName = "HTTP://サーバー上のファイル.CSV"
'これではサッパリダメでした^^;
Set objFile = CreateObject("Scripting.FileSystemObject").GetFile(strFileName)
With objFile
作成日 = .DateCreated
最終アクセス日 = .DateLastAccessed
最終更新日 = .DateLastModified
End With
MsgBox 作成日 & 最終アクセス日 & 最終更新日
End Sub

セグメントの違うクライアントからサーバー上のファイル情報の取得は、エクセルでは難しいのかもしれません。ちょっと掲示板の主旨とは違うかもしれませんのでこれで〆させていただきたいと思います。
ご協力に感謝いたします。ももさん、ありがとうございました。
もしわかったら参考までにこちらに書き込みます。

3423 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free