Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call CancelAction
End Sub
Private Sub Workbook_Open()
UpdateNews
Call ShowNews
End Sub
Public i As Integer
Public scadenza
Public counter As Integer
Sub ShowNews()
On Error GoTo fine
Dim MyNews As String
Dim AreaNews As Range
Set AreaNews = ThisWorkbook.Worksheets("News").Range(ThisWorkbook.Worksheets("News").Names("www.msnbc.msn"))
If i = 0 Or i = AreaNews.Cells.Count Then i = 1
If AreaNews.Cells(i).Value = vbNullString Then i = i + 1
MyNews = AreaNews.Cells(i).Value
scadenza = Now + TimeSerial(0, 0, 5)
Application.OnTime scadenza, "GoNextNews"
Application.StatusBar = MyNews & " (CTRL+K to stop)"
Exit Sub
fine:
Call CancelAction
End Sub
Sub GoNextNews()
i = i + 1
counter = counter + 1
If counter = 100 Then Call UpdateNews
Call ShowNews
End Sub
Sub UpdateNews()
ThisWorkbook.Worksheets("News").QueryTables(1).Refresh
End Sub
Sub CancelAction()
On Error Resume Next
Application.OnTime earliesttime:=scadenza, Procedure:="GoNextNews", Schedule:=False
Application.StatusBar = False
scadenza = 0
i = 0
counter = 0
End Sub
|