Мне бы хотелось, чтобы окно сообщений vbOK появилось после обновления моих запросов.
Я уже рассмотрел некоторые ответы здесь и попытался собрать их воедино, но я не смог понять, что я делаю неправильно.
Это в ThisWorkbook:
Dim qtevent As qtclass
-------------------------------------------------
Private Sub Workbook_Open()
Set qtevent = New qtclass
Set qtevent.HookedTable =
ThisWorkbook.Worksheets("TagData").ListObjects("barTagData").QueryTable
End Sub
-------------------------------------------------
Sub refreshData()
Refresh_Note.Show vbModeless
Application.ScreenUpdating = True
Application.DisplayAlerts = False
With ThisWorkbook
.Connections("Query - PSTab").OLEDBConnection.BackgroundQuery = True
.Connections("Query - PETab").OLEDBConnection.BackgroundQuery = True
.Connections("Query - barTagData").OLEDBConnection.BackgroundQuery = True
.Connections("Query - PSTab").Refresh
.Connections("Query - PETab").Refresh
.Connections("Query - barTagData").Refresh
End With
DoEvents
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
-------------------------------------------------
Это модуль qtclass:
Option Explicit
Public WithEvents qt As QueryTable
-------------------------------------------------
Public Property Set HookedTable(q As Excel.QueryTable)
Set qt = q
End Property
-------------------------------------------------
Private Sub qt_AfterRefresh(ByVal Success As Boolean)
MsgBox "qt_AfterRefresh called successfully."
If Success = True Then
Call hideForm
MsgBox "If called Successfully"
End Sub
-------------------------------------------------
Sub hideForm()
Refresh_Note.Hide
End Sub
-------------------------------------------------
Любая помощь приветствуется!:) Спасибо.
Я пытаюсь вызвать подпрограмму hideForm после обновления запросов, что также приведет к появлению другого сообщения с сообщением «Queries Refreshed».Эта часть уже удалена, но эта подпрограмма не называется AfterRefresh.