2013-10-22 1 views
0

VBA를 사용하여 입력 파일에서 읽은 모든 파일 경로 이름의 마지막 수정 날짜 속성 값을 표시하도록 Excel 보고서를 만들려고합니다. 이것이 LastModified 날짜를 얻는 방법입니다.FileScriptingObject : File.DateLastModified 함수가 예상대로 작동하지 않습니다.

Set fso = CreateObject("Scripting.FileSystemObject") 
Set currentFile = fso.GetFile(inputFile) 
Sheet.Cells(r, 2).Value = currentFile.DateLastModified '<<<Incorrect value 

모든 파일을 읽을 때마다 표시되는 값은 각각의 경우에 현재 시스템 시간입니다. Windows 탐색기에 올바른 최종 수정 시간이 표시됩니다. 디버깅 할 때 DateLastModified 속성이 실제로 Excel 보고서에 표시된 것과 동일한 값인 것을 볼 수 있습니다.

DateLastModified 함수가 작동하지 않는 이유는 무엇입니까?

관련이 있는지는 확실치 않지만 내 PC에는 msvbvm60.dll VB 런타임이 있습니다. 규제 문제 일 수 있습니까? VB.NET 프로젝트에서 scrrun.dll에 대한 참조를 설정할 수 없습니다. here : scrrun.dll에서 새 라이브러리를 만듭니다. 그것은 내가 참조 할 수 있었던 다른 이름 인 Scripting.dll을 가진 라이브러리 dll을 생성 한 것 같습니다. 이것과 관련이 있는지 확실하지 않습니다.

답변

0

사과드립니다. 그것은 바보 같은 코딩 버그였습니다. 파일에서 읽은 경로가 아닌 입력 파일에서 수정 된 날짜를 확인했습니다. 이런!

삭제할 가치가있는 경우 커뮤니티에 달려 있습니다.

1

파일을 만들 때 DateLastModified 속성은 Null입니다. 일부 프로세스는 파일이 닫힐 때 값을 업데이트하지만 그 중 많은 프로세스는 값을 업데이트하지 않습니다.

관련 문제