Если у вас есть Excel 2007, вы можете написать VBA для изменения соединений (т.е. запросов внешних данных) в рабочей книге и обновить свойство CommandText.Если вы просто добавите ?
там, где вы хотите параметр, то в следующий раз, когда вы обновите данные, он запросит значения для соединений!магия.Когда вы посмотрите на свойства соединения, кнопка «Параметры» теперь будет активной и пригодной для использования в обычном режиме.
Например, я бы написал макрос, прошел через него в отладчике и заставил бы его соответствующим образом установить CommandText.Сделав это, вы можете удалить макрос - это всего лишь средство для обновления запроса.
Sub UpdateQuery
Dim cn As WorkbookConnection
Dim odbcCn As ODBCConnection, oledbCn As OLEDBConnection
For Each cn In ThisWorkbook.Connections
If cn.Type = xlConnectionTypeODBC Then
Set odbcCn = cn.ODBCConnection
' If you do have multiple connections you would want to modify
' the line below each time you run through the loop.
odbcCn.CommandText = "select blah from someTable where blah like ?"
ElseIf cn.Type = xlConnectionTypeOLEDB Then
Set oledbCn = cn.OLEDBConnection
oledbCn.CommandText = "select blah from someTable where blah like ?"
End If
Next
End Sub