Имя: Пароль:
IT
 
Помогите с Excel (external data)
0 sda553
 
18.10.11
12:45
Вопрос 1.

В 2003-ем excel вызываю свойства external data и получаю такую формочку
http://s56.radikal.ru/i152/1110/95/97bb7abd2cb7.jpg

В 2007-ом Excel вызываю свойства external data и получаю такую формочку
http://s46.radikal.ru/i114/1110/2a/528f60b1b04b.jpg

В 2007 дальше я могу нажать на кнопку отмеченную красной стрелкой и отредактировать connection properties, а конкретно: строку соединения.

В 2003-ем такой кнопки connection properties в упор не могу найти, она где? Как мне отредактировать строку соединения

Вопрос2. Создаю файл в 2007 excel в режиме совместимости с 2003. Там есть external data из других ексель файлов. Строки соединения типа
DSN=Excel Files;DBQ=\\ПолноеИмяФайла.xls;DefaultDir=\\ПолныйПутьКФайлу;DriverId=1046;MaxBufferSize=2048;PageTimeout=5;

Потом открываю в 2003, ничего не меняю, сохраняю. Открываю опять в 2007-ом и строка соединения превращается в
DSN=Excel Files;DBQ=C\\ПолноеИмяФайла.xls;DefaultDir=\\ПолныйПутьКФайлу;DriverId=281;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;

Каково хрена он меняет DriverId и добавляет FIL=MS Access;

Ексель 2007 от такой строки (мои подозрения) вываливается с ошибкой
http://s008.radikal.ru/i306/1110/5a/9e84938b526a.jpg

Как побороть? Предполагается что с файлом будут работать пользователи как с 2003-им так и с 2007-ым екселем.
1 sda553
 
18.10.11
14:04
Кошмар, вечно у меня самые тяжелые для ответов вопросы
2 filh
 
18.10.11
14:11
блин, что то у меня не подходит лобовуха от копейки на двенашку. Вроде оба ВАЗ.
Как поставить то?
3 sda553
 
18.10.11
14:12
(2) Спасибо за хинт, но мимо. Внимательнее читаем
4 filh
 
18.10.11
14:15
(3) поставь всем 2007.
5 sda553
 
18.10.11
14:21
(4) Нереально, пользователи от Сингапура до Лиссабона, и я не имею влияния на то что у них там стоит. Поэтому единственная возможность - создать xls работающий в обоих екселях.

На первый то вопрос есть хотя бы ответ. Мне вот что то не верится что до 2007 года если кто то делал external data в екселе, то потом connection string этой даты нельзя было ни посмотреть ни подправить.

Нашел что не я один ищу эти connection properties
http://www.mrexcel.com/forum/showthread.php?t=380384
http://msgroups.net/microsoft.public.office.misc/How-to-update-ODBC-connection-properties-in-Excel
Но видимо это какая то великая тайна, так как во всех таких ветках все молчат
6 sda553
 
18.10.11
14:50
Сделал за неимением лучшего кривоватое решение (симптоматическое)

Private Sub Workbook_Open()
   Dim qt As Object
   If (Left(Application.Version, 2) = "12") Then
       For Each qt In ActiveWorkbook.Connections
           qt.ODBCConnection.Connection = Replace(qt.ODBCConnection.Connection, "DriverId=281;FIL=MS Access;", "DriverId=1046")
       Next qt
   End If
End Sub
Ошибка? Это не ошибка, это системная функция.