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