Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

ESTRARRE la DATA dalla PROPRIETA' DEL FILE

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

ESTRARRE la DATA dalla PROPRIETA' DEL FILE

Postdi scanacc » 16/10/20 18:51

In pratica devo inserire nel "FILE A" la data del giorno in cui è stato fatto il download del "FILE B"
Purtroppo nel FILE B non ci sono riferimenti in merito e non so come fare se non prenderli nelle proprietà del documento dalla voce "Creazione contenuto". Dato che dovrò ripetere l'operazione per molte volte, un piccolo aiuto sarebbe gradito.
Grazie
scanacc
Utente Senior
 
Post: 252
Iscritto il: 06/12/15 10:30

Sponsor
 

Re: ESTRARRE la DATA dalla PROPRIETA' DEL FILE

Postdi Anthony47 » 16/10/20 23:42

Si puo' lavorare sulle informazioni prelevabili tramite il FileSystemObject.
Ad esempio, partiamo da quanto pubblicato (codice e informazioni) in questa documentazione Microsoft: https://docs.microsoft.com/en-us/office ... ile-object

Possiamo cosi' arrivare alla seguente "Funzione Utente":
Codice: Seleziona tutto
Function ShowFileInfo(ByVal myFile As String, Optional ByVal myOpt As Long = 1) As Variant
    Dim fs, f, s
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set f = fs.GetFile(myFile)
    If myOpt = 1 Then
        ShowFileInfo = f.DateCreated
    ElseIf myOpt = 2 Then
        ShowFileInfo = f.DateLastAccessed
    ElseIf myOpt = 3 Then
        ShowFileInfo = f.DateLastModified
    End If
End Function

La funzione ShowFileInfo così creata va richiamata passandole come "argomenti" il nome file e il Numero di info che si vuole ottenere; al momento ho previsto:
1=DateCreated
2=DateLastAccessed
3=DateLastModified

Ad esempio potrai usare una formula tipo
Codice: Seleziona tutto
=ShowFileInfo("D:\DDownloads\Dieta.xlsx";1)
Per ottenere la data di creazione di quel file

Ovviamente puoi usare una cella per contenere gli argomenti della formula:
Codice: Seleziona tutto
=ShowFileInfo(A2;B2)
(se NomeFile e' in A2 e tipo di informazione voluta e' in B2)

Altre combinazioni di informazioni, oltre alle 3 ora inserite, si possono prevedere esaminando quali sono le Proprieta' del File Object (il link Microsoft)

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17171
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ESTRARRE la DATA dalla PROPRIETA' DEL FILE

Postdi scanacc » 17/10/20 01:17

Grazie Antony, avevo trovato anche questo che funzionava bene
Codice: Seleziona tutto
Public Sub Test()
    Dim wk As Workbook
    Dim sh As Worksheet
    Dim fso As Object
    Dim strFile As String
   
    strFile = "C:\FOCUS\DETTAGLIO\INFO.xlsx"
   
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set wk = ThisWorkbook
    Set sh = wk.Sheets("Foglio1")
   
    With sh
        .Range("A2").Value2 = fso.GetFile(strFile).DateLastAccessed
        .Range("B2").Value2 = fso.GetFile(strFile).DateCreated
        .Range("C2").Value2 = fso.GetFile(strFile).DateLastModified
        .Range("D2").Value2 = fso.GetFile(strFile).Type
        .Range("E2").Value2 = fso.GetFile(strFile).Size
        .Range("F2").Value2 = fso.GetFile(strFile).Name
        .Range("G2").Value2 = fso.GetFile(strFile).Path

    End With
   
End Sub


Ma da il problema che me ne fa vedere solo 1. Come posso fare in modo che questa macro continui la ricerca di tutti i FILE nella cartella che vorrei indicargli senza indicargli la path esatta del file?
scanacc
Utente Senior
 
Post: 252
Iscritto il: 06/12/15 10:30

Re: ESTRARRE la DATA dalla PROPRIETA' DEL FILE

Postdi Anthony47 » 17/10/20 14:27

Come posso fare in modo che questa macro continui la ricerca di tutti i FILE nella cartella che vorrei indicargli senza indicargli la path esatta del file?
La interpreto così:
-data la directory, come posso ottenere le informazioni di tutti i file presenti nella directory?

In questo caso devi estrarre i nomi file e lavorare su quelli. Ad esempio:
Codice: Seleziona tutto
Sub GetFileInfo()
Dim sh As Worksheet
Dim fSo As Object
Dim lFile As Object, iPath As String
'
iPath = "D:\DDownloads\Amazon_Imag"                     '<<< La directory in cui cercare
Set sh = ThisWorkbook.Sheets("Foglio6")     '<<< Il foglio in cui scaricare i risultati
'
Set fSo = CreateObject("Scripting.FileSystemObject")
I = 1
For Each lFile In fSo.GetFolder(iPath).Files
    I = I + 1
    sh.Cells(I, 1).Value2 = fSo.GetFile(lFile).DateLastAccessed
    sh.Cells(I, 2).Value2 = fSo.GetFile(lFile).DateCreated
    sh.Cells(I, 3).Value2 = fSo.GetFile(lFile).DateLastModified
    sh.Cells(I, 4).Value2 = fSo.GetFile(lFile).Type
    sh.Cells(I, 5).Value2 = fSo.GetFile(lFile).Size
    sh.Cells(I, 6).Value2 = fSo.GetFile(lFile).Name
    sh.Cells(I, 7).Value2 = fSo.GetFile(lFile).Path
    DoEvents
Next lFile
MsgBox ("Elenco completato, n° files: " & I)
End Sub

Le istruzioni marcate <<< vanno personalizzate

Le informazioni saranno riportate nel foglio dichiarato a partire dalla riga 2; non ho inserito una pulizia iniziale del foglio, ed eventuali dati presenti vengono sovrascritti.

Ciao
Avatar utente
Anthony47
Moderatore
 
Post: 17171
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: ESTRARRE la DATA dalla PROPRIETA' DEL FILE

Postdi scanacc » 22/10/20 08:42

Perfetto grazie!
scanacc
Utente Senior
 
Post: 252
Iscritto il: 06/12/15 10:30


Torna a Applicazioni Office Windows


Topic correlati a "ESTRARRE la DATA dalla PROPRIETA' DEL FILE":


Chi c’è in linea

Visitano il forum: Nessuno e 46 ospiti