Ciao,
approfitto della tua gentilezza
Ho sempre pudore a postare i miei codici visto che... sono una schiappa![]()
Non far caso alle mille Rem e alle eventuali insensatezze
codice:Const SND_ASYNC = &H1 Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long Public loop_audio As Integer Private Sub Form_Load() Timer1.Interval = 1000 ' Imposta l'intervallo. Label1.BackColor = vbBlack End Sub Private Sub Timer1_Timer() 'If GetAttr("C:\prova.xls") = vbReadOnly Then 'Label1.BackColor = vbBlack 'MsgBox "è solo lettura" 'Else Dim MySize MySize = FileLen("C:\prova.xls") ' Restituisce la lunghezza ' del file espressa in byte. 'MsgBox MySize ' prende l'ora di ultima modifica del file XLS ' Dim fs, f, s ' Set fs = CreateObject("Scripting.FileSystemObject") ' Set f = fs.GetFile("C:\prova.xls") ' lastmodification = f.DateLastModified ' MsgBox Err.Number 'prende l'ora di ultima visualizzazione dal TXT Dim libero As String libero = FreeFile Dim lastsize As String Open "CheckUpdateDate.txt" For Input As libero Do While Not EOF(libero) Line Input #libero, lastsize 'DATA1.Text = stringa Loop Close #libero 'MsgBox lastview 'controlla se l'ora di ultima visualizzazione sia predecente/antecedente all'ora di ultima modifica If MySize > lastsize Then Label1.BackColor = vbRed 'notifica audio solo ogni 10 cicli fino al 130esimo (da moltiplicare per i sec di intervallo) If loop_audio = 0 Or loop_audio = 10 Or loop_audio = 20 Or loop_audio = 30 Or loop_audio = 40 Or loop_audio = 50 Or loop_audio = 60 Or loop_audio = 70 Or loop_audio = 80 Or loop_audio = 90 Or loop_audio = 100 Or loop_audio = 110 Or loop_audio = 120 Or loop_audio = 130 Then sndPlaySound ("c:windows\media\Windows XP - Batteria in esaurimento.wav"), SND_ASYNC End If Else Label1.BackColor = vbBlack End If loop_audio = loop_audio + 1 'end is se il file è in sola lettura 'End If End Sub Private Sub Command1_Click() Label1.BackColor = vbBlack Dim exApp As Excel.Application Dim exWb As Excel.Workbook Dim exWs As Excel.Worksheet Dim numRighe As Integer Dim indRiga As Integer 'apre excel Set exApp = New Excel.Application exApp.Visible = True 'apre il file xls strperc = "C:\prova.xls" Set exWb = exApp.Workbooks.Open(strperc) 'prende la data di sistema Dim MySize2 MySize2 = FileLen("C:\prova.xls") ' Restituisce la lunghezza ' del file espressa in byte. 'Dim mytime As String 'Dim mydate As String 'mytime = Time + Date 'mydate = Date 'MsgBox mytime 'MsgBox mydate ' scrive in un file di TXT l'ora di ultima visualizzazione del file, se il file non esiste lo crea Dim fso, txtfile Set fso = CreateObject("Scripting.FileSystemObject") Set txtfile = fso.CreateTextFile("CheckUpdateDate.txt", True) ' Scrive una riga con un carattere di nuova riga. txtfile.WriteLine (MySize2) 'txtfile.WriteLine ("Test in corso di 1, 2 e 3.") 'txtfile.WriteLine ("Test in corso di 1, 2 e 3.") txtfile.Close End Sub

Rispondi quotando