0
我正在使用一些excel文件。這個想法是隻採取那些已被修改。但在這裏我遇到了問題。當我執行所有程序包時,Excel連接器正在用系統小時修改「修改日期」。這些文件沒有「只讀」屬性,我無法做任何事情,因爲我只是從特定文件夾讀取文件。Excel連接器修改文件的「修改日期」屬性 - SSIS
面對這個問題最好的辦法是什麼?
我正在使用一些excel文件。這個想法是隻採取那些已被修改。但在這裏我遇到了問題。當我執行所有程序包時,Excel連接器正在用系統小時修改「修改日期」。這些文件沒有「只讀」屬性,我無法做任何事情,因爲我只是從特定文件夾讀取文件。Excel連接器修改文件的「修改日期」屬性 - SSIS
面對這個問題最好的辦法是什麼?
通過這種方式,您可以在不打開它的情況下閱讀文件的修改日期,全部來自excel。
Sub test()
Dim FD As FileDialog
Dim i
Set FD = Application.FileDialog(msoFileDialogFilePicker)
With FD
If .Show = -1 Then
For Each i In .SelectedItems
MsgBox FileLastModified(i)
Next i
End If
End With
End Sub
Function FileLastModified(ByVal strFullFileName As String)
Dim fs As Object
Dim f As Object
Dim s As String
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.GetFile(strFullFileName)
s = UCase(strFullFileName) & vbCrLf
s = s & "Last Modified: " & f.DateLastModified
FileLastModified = s
Set fs = Nothing: Set f = Nothing
End Function
嗨Elbert。通過閱讀文件的「修改日期」我沒有問題。這裏的問題是,當我執行包時,Excel連接器會修改該值。這就是我需要停止發生的事情。因爲我會一直在讀錯誤的日期。 – d2907
您可以打開爲只讀本工作簿:'Workbooks.Open名:= file_name,只讀:= TRUE; –
嗨Elbert.Could請你解釋多一點?或者你可以參考任何一個例子的鏈接。謝謝 – d2907
那麼,我只是談論VBA,不考慮SSIS,現在我不確定自己是否正確......但是,從EXCEL中的VBA開始,您可以以只讀方式打開工作簿,只需使用該行代碼,其中'file_name'是您想要以只讀方式打開的文件的名稱。 [Workbooks.Open](https://msdn.microsoft.com/en-us/library/office/ff194819.aspx),在這裏你可以找到一些幫助。 –