J
JVLin
Hi,
I am trying to automatically save & close a series of workbooks after
refreshing all the web queries they contain.
I have tried to follow the Help instructions on setting up an AfterRefresh
event, but I modified the initiation sub so it refers to the last query table
on the sheet:
Dim clsQueryTable As New ClsModQT
Sub RunInitQTEvent()
Dim clsQueryTable As New ClsModQT
Dim iQ As Integer
iQ = ThisWorkbook.Sheets("Input").QueryTables.Count
clsQueryTable.InitQueryEvent QT:=ThisWorkbook.Sheets("Input").QueryTables(iQ)
End Sub
I was hoping to use this sub in the class module, but it doesn't seem to run:
Sub qtQueryTable_AfterRefresh(ByVal Success As Boolean)
If Success Then
' Query completed successfully
ThisWorkbook.Save
ThisWorkbook.Saved = True
ThisWorkbook.Close
Else
' Query failed or was cancelled
stID = ThisWorkbook.Sheets("Data").Range("ID").Value
MsgBox stID & " did not refresh properly."
ThisWorkbook.Saved = True
ThisWorkbook.Close
End If
End Sub
Do I need to call it explicitly? And if so, how do I do that from another
workbook?
Regards,
JvL
I am trying to automatically save & close a series of workbooks after
refreshing all the web queries they contain.
I have tried to follow the Help instructions on setting up an AfterRefresh
event, but I modified the initiation sub so it refers to the last query table
on the sheet:
Dim clsQueryTable As New ClsModQT
Sub RunInitQTEvent()
Dim clsQueryTable As New ClsModQT
Dim iQ As Integer
iQ = ThisWorkbook.Sheets("Input").QueryTables.Count
clsQueryTable.InitQueryEvent QT:=ThisWorkbook.Sheets("Input").QueryTables(iQ)
End Sub
I was hoping to use this sub in the class module, but it doesn't seem to run:
Sub qtQueryTable_AfterRefresh(ByVal Success As Boolean)
If Success Then
' Query completed successfully
ThisWorkbook.Save
ThisWorkbook.Saved = True
ThisWorkbook.Close
Else
' Query failed or was cancelled
stID = ThisWorkbook.Sheets("Data").Range("ID").Value
MsgBox stID & " did not refresh properly."
ThisWorkbook.Saved = True
ThisWorkbook.Close
End If
End Sub
Do I need to call it explicitly? And if so, how do I do that from another
workbook?
Regards,
JvL