Excel VBA質問箱 IV

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

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


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

【76968】ハイパーリンクのファイルの更新日時取得 ko 15/4/23(木) 11:23 質問[未読]
【76969】Re:ハイパーリンクのファイルの更新日時取得 β 15/4/23(木) 12:07 発言[未読]
【76970】Re:ハイパーリンクのファイルの更新日時取得 β 15/4/23(木) 12:12 発言[未読]
【76977】Re:ハイパーリンクのファイルの更新日時取得 ko 15/4/23(木) 16:44 お礼[未読]
【76971】Re:ハイパーリンクのファイルの更新日時取得 独覚 15/4/23(木) 13:07 発言[未読]
【76972】Re:ハイパーリンクのファイルの更新日時取得 ko 15/4/23(木) 13:19 発言[未読]
【76973】Re:ハイパーリンクのファイルの更新日時取得 独覚 15/4/23(木) 13:28 発言[未読]
【76974】Re:ハイパーリンクのファイルの更新日時取得 ko 15/4/23(木) 13:37 発言[未読]
【76976】Re:ハイパーリンクのファイルの更新日時取得 ko 15/4/23(木) 16:39 お礼[未読]
【76975】Re:ハイパーリンクのファイルの更新日時取得 ko 15/4/23(木) 14:42 質問[未読]

【76968】ハイパーリンクのファイルの更新日時取得
質問  ko E-MAIL  - 15/4/23(木) 11:23 -

引用なし
パスワード
   すみません、何が問題かわからないので、ご教示願います。

ハイパーリンクのファイルの更新日時を取得したいのですが、
マクロを実行しても、実際に更新された日時に変わりません。
おそらく、当日の更新に対応できていないように思われます。

※例えば、23日10:00に実行したとき、23日9:00に更新されたファイルがあっても、それは反映されず、
22日時点で更新されたものだけが反映されている状況です。 

Excel2007です。


Sub Auto_Open()
  Dim rng As Range
  Dim FileName As String
  Dim fso As New FileSystemObject

  ChDir ThisWorkbook.Path
  For Each rng In ActiveSheet.UsedRange
    If rng.Hyperlinks.Count > 0 Then
      FileName = fso.GetAbsolutePathName(rng.Hyperlinks(1).Address)
      If fso.FileExists(FileName) Then
        rng.Offset(0, 1) = fso.GetFile(FileName).DateLastModified
      End If
    End If
  Next
  
 
よろしくおねがいします。

【76969】Re:ハイパーリンクのファイルの更新日時...
発言  β  - 15/4/23(木) 12:07 -

引用なし
パスワード
   ▼ko さん:

こんにちは

不思議ですねぇ。
こちら、2007 の環境がなく、そのバージョンでの確認はできないのですが
2013 で 12:00 に更新、そのあと、12:05 に更新。
こうした後、アップされたコードを実行しますと、12:05 になりますが?

【76970】Re:ハイパーリンクのファイルの更新日時...
発言  β  - 15/4/23(木) 12:12 -

引用なし
パスワード
   ▼ko さん:

追伸で。

1週間前が最終更新日のブックをハイパーリンクで設定して
そのブックを更新して最終更新日を今日にして実行。

やはり、正しく、今日の日時になります。

【76971】Re:ハイパーリンクのファイルの更新日時...
発言  独覚  - 15/4/23(木) 13:07 -

引用なし
パスワード
   ▼ko さん:
何かほかに特記事項はないですか?

私のほうでもWindows7+Excel2007で実行してみましたがローカルファイル、
サーバ(Windowsサーバ2003)上の共有フォルダ上のファイルどちらとも
当日内の更新日時が反映されています。


koさんのところで、OSのバージョン、ファイルがローカルの場合、サーバ上の場合
どちらでも同じ状況なのか?
また、サーバ上のファイルの場合、サーバのOSはなんでしょうか?

【76972】Re:ハイパーリンクのファイルの更新日時...
発言  ko  - 15/4/23(木) 13:19 -

引用なし
パスワード
   βさん、独覚さん、ありがとうございます。

ファイルはローカルにあるものだけですが、
OSがWindowsXPです。やはりOSの問題なのでしょうか・・・

【76973】Re:ハイパーリンクのファイルの更新日時...
発言  独覚  - 15/4/23(木) 13:28 -

引用なし
パスワード
   ▼ko さん:
あいにくWindowsXPの環境がないため回答が難しいのですが、そのファイルの

プロパティを直接見たときの更新日付はどうなっていますか?

【76974】Re:ハイパーリンクのファイルの更新日時...
発言  ko  - 15/4/23(木) 13:37 -

引用なし
パスワード
   独覚さん

ファイルのプロパティ自体は、正確な日時になっています。

あと、日時取得だけで End Subにしておらず、
続けて並べ替えするようにしています。


  ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Clear
  ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add Key:=Range("C1") _
    , SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
  Dim LastRow As Long
  LastRow = Cells(Rows.Count, 1).End(xlUp).Row
  
  With ActiveWorkbook.Worksheets("Sheet1").Sort
    .SetRange Range("a1", "c" & LastRow)
    .Header = xlYes
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
  End With
  
  
End Sub

【76975】Re:ハイパーリンクのファイルの更新日時...
質問  ko  - 15/4/23(木) 14:42 -

引用なし
パスワード
   追記です。

新しく作成したファイルのハイパーリンクを追加したのですが、
そもそも、更新日時の取得をしてくれません(泣
元ファイルのプロパティの更新日時は正常です。

【76976】Re:ハイパーリンクのファイルの更新日時...
お礼  ko  - 15/4/23(木) 16:39 -

引用なし
パスワード
   自己解決しました。

あまり重要でないと思って、書いていませんでしたが、
LANでつないだ別のPCから操作した場合に、質問の状態になるようで、
ファイルが保存されているPCで操作すると、正常にデータが更新されていました。

セキュリティの関係でしょうか??
そのあたり、あまり意識していなかったので気づきませんでした。

ありがとうございました。

【76977】Re:ハイパーリンクのファイルの更新日時...
お礼  ko  - 15/4/23(木) 16:44 -

引用なし
パスワード
   おそらく、自己解決しました。

LANでつないだ別のPCから操作した場合に、質問の状態になるようで、
ファイルが保存されているPCで操作すると、正常にデータが更新されていました。

あまり意識していなかったので気づきませんでした。

ありがとうございました。

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