Новости:

Интересные и полезные статьи по работе с Excel и VBA
можно найти в разделе ХИТРОСТИ

Главное меню

как указать относительную ссылку вместо полного пути к файлу?

Автор novinky, 28.11.2024, 04:06:32

« назад - далее »

novinky

справку майкрософта смотрел но не понял, поиск по форуму и "Данные"-"Подключения"-"Добавить"файл источник не помогли.
Сейчас в ячейках =Get_Value_From_Close_Book("F:\1\101006657.csv";"101006657";"J3")
Пробую =Get_Value_From_Close_Book(".\101006657.csv";"101006657";"J3") - т.е. файл откуда читаем находиться в той же папке где и файл куда читаем, но не работает.
Подскажите пожалуйста, есть ли возможность исправить и как? Чтобы работал без изменения всех ссылок вручную при перемещении в др папки диски.
csv вложение в форме запрещен посему содержание 101006657.csv
21;11;24;11;03;49;101006657;
001;28;00;00;D2;E8;00;06;E1;-23.75;
002;28;00;00;D2;E8;00;09;77;-18.68;
003;28;00;00;D2;E8;00;15;06;-12.92;
004;28;00;00;D2;E8;00;10;1B;-7.81;
005;28;00;00;D2;E8;00;13;95;-3.50;
006;28;00;00;D2;E8;00;0A;41;-0.57;
007;28;00;00;D2;E8;00;31;D3;-0.15;
008;28;00;00;D2;E8;00;32;93;-0.36;
009;28;00;00;D2;E8;00;3B;31;-0.79;
010;28;00;00;D2;E8;00;3F;22;-1.14;
011;28;00;00;D2;E8;00;2F;B2;-1.50;

Дмитрий Щербаков(The_Prist)

Цитата: novinky от 28.11.2024, 04:06:32".\101006657.csv"
такая запись не работает в VBA - нужен конкретный путь.
Функция для этого и создана - Вы можете в отдельной ячейке сформировать нужный путь и уже на неё ссылаться в функции. Например, путь в ячейке А1. Тогда функция будет выглядеть так:
=Get_Value_From_Close_Book($A$1&"\101006657.csv";"101006657";"J3")Чтобы путь в А1 менялся на тот же путь, где лежит сам файл с функцией - можно применить функцию ЯЧЕЙКА: Как получить имя листа формулой
Применение этой функции для получения пути можно подсмотреть здесь(если самостоятельно не получится): Относительный путь к данным PowerQuery
Ну а т.к. Вы используете макросы - то проще будет вообще свою функцию написать и использовать её:
'возвращает путь к папке с файлом с этим кодом
Function GetCurFilePath()
    GetCurFilePath = ThisWorkbook.Path
End Function
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...

Яндекс.Метрика Рейтинг@Mail.ru