В 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;
(4) Нереально, пользователи от Сингапура до Лиссабона, и я не имею влияния на то что у них там стоит. Поэтому единственная возможность - создать xls работающий в обоих екселях.
На первый то вопрос есть хотя бы ответ. Мне вот что то не верится что до 2007 года если кто то делал external data в екселе, то потом connection string этой даты нельзя было ни посмотреть ни подправить.
Сделал за неимением лучшего кривоватое решение (симптоматическое)
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
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший