|
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 13
|
|||||||||||
Как получить путь к файлу и имя этого файла в переменные23.10.2012, 11:58. Показов 101400. Ответов 22
Метки нет (Все метки)
Добрый день,
Задача проста, есть решение, но оно не изящное, хотелось бы оптимизировать код. Все делается в VBA Excel 2010. Необходимо выбирая случайный фаил получать полный путь к этому файлу, а так же его имя в отдельные переменные. У меня это получилось сделать только в 2 этапа, т.е 2 раза выводя диалоговое окно. Хотелось бы это делать за 1 диалог. 1. Получаем Имя файла
0
|
|||||||||||
| 23.10.2012, 11:58 | |
|
Ответы с готовыми решениями:
22
Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого католога |
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
| 23.10.2012, 12:17 | ||||||
|
fName в первом коде - полный путь к файлу. Вы хотите разделить его на путь к папке и имя?
Это можно сделать так:
2
|
||||||
|
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 13
|
|
| 23.10.2012, 15:18 [ТС] | |
|
Благодарю, вопрос исчерпан.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 23.10.2012, 17:30 | ||||||
|
Так попробуйте в первом коде:
0
|
||||||
|
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 13
|
|
| 23.10.2012, 19:14 [ТС] | |
|
To Hugo121
Наверное я не достаточно четко сформулировал задачу, в любом случае, Казанский помог с решением проблемы. Я получил что хотел. Под полным путем подразумевалось путь до файла без его имени, т.е "C:\temp\" в одну переменную и имя файла "asd.txt" в другую переменную. В следующий раз буду четко формулировать. Спасибо.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 23.10.2012, 20:55 | ||||||
|
Ну когда есть полный путь и имя - легко от полного пути отрезать на длину имени...
0
|
||||||
|
foo();
|
||||||||
| 09.07.2013, 16:29 | ||||||||
|
нужна помощь, у меня код не работает(exel'13)
нашел отличный faq по добавлению модулей, GetOpenFilename - в любом случае вызывает окно выбора файла еще пробовал HKEY_CURRENT_USER\Desktop - выдает ошибку мой код:
кому нужно thisworkbook.path
0
|
||||||||
|
3 / 3 / 0
Регистрация: 24.10.2015
Сообщений: 1
|
||||||
| 24.01.2016, 18:54 | ||||||
|
Пути к файлу и имя файла - просто как 2+2 !
Путь к файлу - C:\Work\ Имя файла - test.txt Просто и не нужно извращаться!
3
|
||||||
|
4 / 4 / 0
Регистрация: 29.06.2015
Сообщений: 17
|
|
| 29.01.2016, 13:41 | |
|
ActiveWindow.Caption возвращает имя открытого окна, т.е. имя файла без расширения.
0
|
|
|
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
|
||||||
| 29.01.2016, 15:20 | ||||||
|
Федоров, ...если заголовок окна не поменяли
![]()
0
|
||||||
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 4
|
|
| 18.03.2016, 14:08 | |
|
доброго дня всем, подскажите, а как теперь получаемые ответы вывести в ячейку? и чтоб без диалогового окна? просто выбор файла, а результат в ячейке, а не в окне.
спасибо.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
||||||
| 18.03.2016, 14:19 | ||||||
|
Вместо Msgbox пишите
1
|
||||||
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 4
|
|
| 18.03.2016, 15:24 | |
|
благодарю, то что надо
Добавлено через 1 минуту есть файл эксель в котором происходят вычисления и есть файлы эксель в которых данные для этих вычислений. по кнопке в первом файле происходит вышеописанный скрипт, в ячейке получаю путь до файла и уже в нужные ячейки подставляются данные из полученного файла. вопрос: если по нажатию кнопки подставить другой файл с данными, то сразу он не обновляет данные, обновить если нажать "данные" - "источник связи" - здесь указать источник - "обновить", тогда выдается запрос на нужный файл и данные обновляются. можно ли автоматизировать это обновление?
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 18.03.2016, 16:12 | |
|
Используете ДВССЫЛ()? Она не в всех формулах работает. Если всё равно используете макрос - так сразу и формируйте макросом полностью формулы, или вообще делайте всю работу макросом.
0
|
|
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 4
|
|
| 21.03.2016, 07:20 | |
|
ДВССЫЛ не успользую, а в макросах не силен совсем.
вот формула =[AW104]Данные!$B$18, по которой подтягиваются данные из внешних источников, а ячейка AW104 получает полный путь файла источника по вышеприведенному макросу.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|||||||||||
| 21.03.2016, 09:22 | |||||||||||
|
Попробуйте после замены файла
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 07.09.2015
Сообщений: 4
|
|
| 21.03.2016, 11:04 | |
|
нет, не работает ни в теле первого макроса, ни с отдельной кнопки((
может быть подскажите другое решение? мне пришло только озвученное выше: есть файл калькуляции в эксель и есть файлы эксель с данными клиентов. имена файлов с данными клиентов разные и в разных местах. нужно чтобы данные клиентов подтягивались в файл калькуляции с минимальными телодвижениями юзверей.
0
|
|
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 21.03.2016, 11:30 | |
|
Попробуйте так - копируете любой файл клиента под именем например шаблон.xls, настраиваете все нужные формулы на импорт из этого файла.
Сохраняете файл, ставите ему "только для чтения". Удаляете шаблон.xls. Юзер открывает файл с формулами, в диалоге обновления связей указывает файл нужного клиента. Посмотрел, если нужно сохранить - сохранил с любым другим именем. Но можно конечно всё делать макросом - юзер жмёт кнопку, указывает файл, смотрит данные. Вообще всё без формул.
0
|
|
|
0 / 0 / 0
Регистрация: 01.02.2016
Сообщений: 29
|
|||||||||||
| 14.04.2016, 09:59 | |||||||||||
|
Здравствуйте, а подскажите пожалуйста как сделать так, чтобы можно было просто выбирать файл через диалоговое окно, не указывая при этом путь к файлу и само название файла. Нужно, чтобы была возможность выбрать любой файл на компьютере .xlsx и далее с ним работать (импортировать из него).
При помощи данного кода открывается диалоговое окно, можно выбрать файл, но он как я понимаю не выбирается (не используется в дальнейшем как нужно мне). Я данный код превратил в комментарии и ничего не поменялось в работе.
0
|
|||||||||||
|
6997 / 2895 / 555
Регистрация: 19.10.2012
Сообщений: 8,803
|
|
| 14.04.2016, 10:04 | |
|
Т.е. не пробовали то, что я предлагаю?
0
|
|
| 14.04.2016, 10:04 | |
|
Помогаю со студенческими работами здесь
20
Узнать путь к файлу или имя файла Как получить путь к файлу в диалоговом окне открытия файла и передать в текстовое поле в форме Как проверить запуск программы по двойному клику на файл и получить путь до этого файла?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|