получилось...почти
помогла вот эта
viewtopic.php?f=12&t=64948но я немного по другому сделал
создал модуль SAPBEX, в котором написал
Code:
Sub callback(ParamArray varname())
Dim lData_Provider As String
lData_Provider = Right(varname(2), 11)
Set lRange = varname(1)
Call plan_SAPBEXonRefresh(lData_Provider, lRange)
End Sub
в новой версии запросы называются по другому, но почему то в листе SAPBEXqueriesDefunct не может их найти, поэтому пришлось искать по старым именам запросов lData_Provider = Right(varname(2), 11)
в настрйках Exit написал SAPBEX.Callback и поставил галочку на обновление при открытии
в отличии от старой версии сталкнулся с проблемой кодировки, т.е. ФМ из BW возвращал русский текст с кодировкой CP1252 (или Windows-1252), а excel его отображал каряво
http://excelvba.ru/code/Encodeпроблему решил вызовом функции перекадеровки
Code:
ChangeTextCharset(Data(1, 3), "ISO-8859-5", "Windows-1252")
Code:
Function ChangeTextCharset(ByVal txt$, ByVal DestCharset$, _
Optional ByVal SourceCharset$) As String
' функция перекодировки (смены кодировки) текстовоq строки
' В качестве параметров функция получает текстовую строку txt$,
' и название кодировки DestCharset$ (в которую будет переведён текст)
' Функция возвращает текст в новой кодировке
On Error Resume Next: Err.Clear
With CreateObject("ADODB.Stream")
.Type = 2: .Mode = 3
If Len(SourceCharset$) Then .Charset = SourceCharset$ ' указываем исходную кодировку
.Open
.WriteText txt$
.Position = 0
.Charset = DestCharset$ ' назначаем новую кодировку
ChangeTextCharset = .ReadText
.Close
End With
End Function
а теперь проблема в том, что после срабатывания макросов запросы в рабочих книгах исчезают
т.е. при нажатии на правую кнопку на области, где был запрос, выходит меню Excel-я, а не запроса
и почему то на некоторых ячейках остались куски запросарешено))...по неизвестной причине команда Sheet.Pictures.Delete удаляла все, хотя в старой версии работала нормально