Member 12405198 Ответов: 1

Изменить строку подключения excel по умолчанию dir на текущий каталог рабочей книги?


DefaultDir=C:\SOMEDIRECTORY;Driver={Microsoft Text Driver (*.txt; *.csv)};DriverId=27;FIL=text;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;SafeTransactions=0;Threads=3;UserCommitSync=Yes;


Выше приведена строка подключения, используемая в Excel для получения внешних данных, используемых в сводной таблице.

В VB у меня нет проблем с настройкой каталога на ActiveWorkbook.Путь таков, что когда я делаю запросы (из VB) или пишу файлы, они находятся и помещаются в нужное место. Однако, когда я делаю запрос на мои отфильтрованные данные для pivot, я не могу найти, как изменить DefaultDir ("SOMEDIRETORY" выше) в любой каталог, где находится рабочая книга. Кажется, все должно быть просто. Я готов использовать файл подключения, но, похоже, та же проблема все равно будет существовать. Это действительно портит работу, потому что, как только я помещаю приложение на другой компьютер, оно не может найти данные!

Что я уже пробовал:

Использование ActiveWorkbook.Путь в строке подключения (не распознает его).
Вынул DefaultDir - он просто возвращает dir по умолчанию для Excel.

1 Ответов

Рейтинг:
5

Member 12405198

Я снова предлагаю ответ на свой вопрос. Я могу использовать файл dqy для запроса, чтобы получить данные, которые будут использоваться опорными точками. Поскольку это текстовый файл, это означает, что я могу записать в него текущий путь для DBQ и DefaultDir. Я собираюсь попробовать это, и если это сработает, то я приму это как ответ.

ЭТО НЕ РАБОТАЕТ. Excel внутренне сохраняет любой запрос, который был использован, но не просматривает его динамически при следующем запуске.

Я вынужден использовать старую версию Excel. Я считаю, что в 2010 году и позже она, вероятно, разрешима. Обходной путь состоит в том, чтобы сообщить пользователям, что они должны установить программу в заданный каталог. Между тем, если у кого-то есть лучший ответ, пожалуйста, поставьте его здесь!