Приветствую, записал макросом действитя которые я делаю при подключения к базе. Но при выполнении макроса он не работает. Сразу ругается на первую строчку:
Код |
---|
With ActiveWorkbook.Connections("base table").ODBCConnection
|
Цитата |
---|
Ошибка - runtime 9 subscript out of range |
Если сделать это ручную, а потом попробовать макросом то макрос работает. Если закрыть ексель и снова он попробовать макрос - то не работает (только если в ручную сделать, а потом запустить макрос - если это натолкнет на какие-то мысли).
Сам записанный макрос:
Код |
---|
Sub Макрос8()
'
' Макрос8 Макрос
'
'
With ActiveWorkbook.Connections("base table").ODBCConnection
.BackgroundQuery = False
.CommandText = Array("SELECT * FROM `base`.`table`")
.CommandType = xlCmdSql
.Connection = "ODBC;DSN=alocal;"
.RefreshOnFileOpen = False
.SavePassword = False
.SourceConnectionFile = _
"C:\Users\admin\Documents\Мои источники данных\base table.odc"
.SourceDataFile = ""
.ServerCredentialsMethod = xlCredentialsMethodIntegrated
.AlwaysUseConnectionFile = False
End With
With ActiveWorkbook.Connections("base table")
.Name = "base table"
.Description = ""
End With
With ActiveSheet.ListObjects.Add(SourceType:=0, Source:="ODBC;DSN=alocal;" _
, Destination:=Range("$A$1")).QueryTable
' .CommandType = 0
.CommandText = Array("SELECT * FROM `base`.`table`")
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.PreserveColumnInfo = True
.SourceConnectionFile = _
"C:\Users\admin\Documents\Мои источники данных\base table.odc"
' .ListObject.DisplayName = "Таблица_time_table"
.Refresh BackgroundQuery:=False
End With
End Sub
|
Помогите решить.
Спасибо.