Добавление имен файлов в рабочий лист (Microsoft Excel)
У Кэрол есть каталог примерно с 1000 файлов с такими именами, как YR1905-LIC12345-Smith, Harry-Brown, Mary. Она хотела бы вывести все эти имена файлов (а не сами файлы) на лист и разделить имена тире. Таким образом, имя файла примера фактически займет четыре ячейки в одной строке. Кэрол считает, что для этого потребуется макрос, но она не знает, как получить доступ к именам файлов в этом макросе.
Вы, конечно, можете использовать для этого макрос, но вам не нужно использовать макрос. Вместо этого вы можете использовать старый трюк времен DOS, чтобы получить то, что вам нужно.
Чтобы получить доступ к командной строке, если вы используете более позднюю версию Excel, просто введите «командная строка» (без кавычек) в поле поиска рядом со значком Windows на панели задач. Если вы используете старую версию Excel, командная строка доступна через Windows: Пуск | Все программы | Аксессуары | Командная строка. В командной строке перейдите, пока не попадете в каталог, содержащий файлы. Предположим, для этого примера, что вы пытаетесь получить список файлов в этом каталоге:
c:\Users\e07482\My Documents\rnp
Чтобы перейти в этот каталог, введите эту команду в командной строке:
chdir "\Users\e07482\My Documents\rnp"
Вам нужно использовать кавычки вокруг каталога из-за пробела в имени пути. Затем введите следующую команду, чтобы увидеть на экране список файлов:
dir /b /a-d
Часть «/ a-d» означает «не перечислять каталоги». Если вас устраивает то, что вы видите на экране, вы можете отправить это в файл, используя следующее:
dir /b /a-d > filelist.txt
При этом создается текстовый файл (filelist.txt), содержащий список всех файлов в текущем каталоге. Теперь в Excel вы можете выполнить следующие действия:
-
Откройте диалоговое окно «Открыть». (В Excel 2007 нажмите кнопку «Office», а затем «Открыть». В Excel 2010 перейдите на вкладку «Файл» на ленте, а затем нажмите «Открыть». В Excel 2013 перейдите на вкладку «Файл» на ленте, нажмите «Открыть», затем «Компьютер» и, наконец Обзор. В более поздних версиях Excel щелкните вкладку «Файл» на ленте и нажмите кнопку «Обзор».)
-
В раскрывающемся списке Тип файлов в нижней части диалогового окна укажите, что вы хотите открыть текстовые файлы (.prn; .txt; * .csv).
-
Найдите и выберите файл filelist.txt, который вы создали в командной строке.
-
Щелкните «Открыть». Excel запускает мастер импорта текста, отображая диалоговое окно «Шаг 1 из 3». (См. Рис. 1.)
-
Убедитесь, что выбран вариант «С разделителями», затем нажмите «Далее». Excel отображает диалоговое окно «Шаг 2 из 3».
-
Убедитесь, что вы указали тире в качестве разделителя. (Вам нужно будет нажать «Другое» и затем ввести тире в качестве разделителя.)
-
Щелкните Готово. Ваш файл импортируется и разбивается на тире, как вы и хотели.
Вышеупомянутые шаги довольно легко выполнить, особенно если вам нужно только время от времени получать список файлов в Excel. Если вам нужно делать это более регулярно, вам, вероятно, следует найти способ сделать это с помощью макроса. Следующий макрос будет работать очень быстро:
Sub GetFileNames() Dim sPath As String Dim sFile As String Dim iRow As Integer Dim iCol As Integer Dim splitFile As Variant 'specify directory to use - must end in "\" sPath = "C:\" iRow = 0 sFile = Dir(sPath) Do While sFile <> "" iRow = iRow + 1 splitFile = Split(sFile, "-") For iCol = 0 To UBound(splitFile) Sheet1.Cells(iRow, iCol + 1) = splitFile(iCol) Next iCol sFile = Dir ' Get next filename Loop End Sub
При запуске макроса убедитесь, что на текущем листе ничего нет. (Все, что там будет, будет перезаписано.) Кроме того, вам следует изменить путь к каталогу, который назначен переменной sPath в начале макроса.
_Примечание: _
Если вы хотите узнать, как использовать макросы, описанные на этой странице (или на любой другой странице на сайтах ExcelTips), я подготовил специальную страницу, содержащую полезную информацию.
link: / excelribbon-ExcelTipsMacros [Щелкните здесь, чтобы открыть эту специальную страницу в новой вкладке браузера]
.
ExcelTips — ваш источник экономичного обучения Microsoft Excel.
Этот совет (11144) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365. Вы можете найти версию этого совета для более старого интерфейса меню Excel здесь:
link: / excel-Pulling_Filenames_into_a_Worksheet [Получение имен файлов в рабочий лист]
.