Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/492: Рейтинг темы: голосов - 492, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 23.10.2012
Сообщений: 13

Как получить путь к файлу и имя этого файла в переменные

23.10.2012, 11:58. Показов 102732. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день,

Задача проста, есть решение, но оно не изящное, хотелось бы оптимизировать код. Все делается в VBA Excel 2010.
Необходимо выбирая случайный фаил получать полный путь к этому файлу, а так же его имя в отдельные переменные. У меня это получилось сделать только в 2 этапа, т.е 2 раза выводя диалоговое окно. Хотелось бы это делать за 1 диалог.

1. Получаем Имя файла

Visual Basic
1
2
3
4
Set fs = CreateObject("Scripting.FileSystemObject")
fName = Application.GetOpenFilename
s = fs.GetFileName(fName)
MsgBox s, vbInformation + vbOKOnly
2. Получаем Путь к файлу (код не мой, помог Гугл)

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Function GetFolderPath(Optional ByVal Title As String = "Select Folder", _
                       Optional ByVal InitialPath As String = "c:\") As String
   Dim PS As String: PS = Application.PathSeparator
    With Application.FileDialog(msoFileDialogFolderPicker)
        If Not Right$(InitialPath, 1) = PS Then InitialPath = InitialPath & PS
        .ButtonName = "Select": .Title = Title: .InitialFileName = InitialPath
        If .Show <> -1 Then Exit Function
        GetFolderPath = .SelectedItems(1)
        If Not Right$(GetFolderPath, 1) = PS Then GetFolderPath = GetFolderPath & PS
    End With
End Function
 
Path = GetFolderPath
MsgBox Path, vbInformation + vbOKOnly
Заранее спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.10.2012, 11:58
Ответы с готовыми решениями:

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения/
C++

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить с этого рядка имя файла без расширения
На с++

Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого католога
Помогите пожалуйста!!! Залание: Дано полное имя файла, т.е путь к файлу, имя и расширение. Выделить из строки только имя первого...

22
0 / 0 / 0
Регистрация: 01.02.2016
Сообщений: 29
14.04.2016, 10:17
Студворк — интернет-сервис помощи студентам
Попробовал, не вышло. Но это и не то вроде. Просто у меня код работает, нужно только каким-то способом связать выбор через диалоговое окно (чтобы действительно файл выбирался) и чтобы выбранный файл направился на работу с импортом.

PureBasic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Private Sub SelectStudent_Click()
 
Dim FName As String
Dim result As Integer
With Application.FileDialog(1)
   .Title = "Select file"
   .InitialFileName = "C:\BD" 'default path Путь по умолчанию
   .AllowMultiSelect = False
   .Filters.Clear
   .Filters.Add "MS Excel", "*.xlsx", 1
result = .Show
 
If result = 0 Then Exit Sub
FName = Trim(.SelectedItems.Item(1))
End With
 
Dim app As Object, wrk As Object
Dim rst As dao.Recordset
 
Set rst = CurrentDb.OpenRecordset("select * from Marks")
Set app = CreateObject("excel.application")
Set wrk = app.workbooks.Open("C:\BD\sample.xlsx")
 
rst.AddNew
 
rst![Hours] = app.range("C15")
 
rst.Update
app.Quit
 
End Sub
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
14.04.2016, 10:19
Visual Basic
1
Set wrk = app.workbooks.Open(FName)
1
0 / 0 / 0
Регистрация: 01.02.2016
Сообщений: 29
14.04.2016, 10:48
Спасибо, помогло.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.04.2016, 10:48

Узнать путь к файлу или имя файла
Сохраняю файл через saveFileDialog. Как узнать папку(директорию) куда сохраняется файл? Ну или имя файла, но только без пути

Как получить путь к файлу в диалоговом окне открытия файла и передать в текстовое поле в форме
Спасибо всем, кто пишет как открыть из Ассеss диалоговое окно. Работает...Оно открывается, выбираю файл (а файл ничего не делает:). Стоит...

Как проверить запуск программы по двойному клику на файл и получить путь до этого файла?
Здравствуйте! Подскажите советом ) У меня прога работает с файлом... ну к примеру тхт... не так важно с каким... при запуске проги...

Как программно получить путь к файлу конфигураций программы (файлу user.config)?
Задался целью программно очистить параметры программы, которые сохраняются в файле user.config. Так как параметров много, чтобы очистить...

Получить путь к файлу по url файла
Добрый всем вечер. Возникла задача удалить файлы после удаления пользователя (например). Проблема в том, что все файлы данного...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru