Vba excel имя открытого файла

Say, I’m writing a VBA inside my excel file sample.xls. Now I want to get the full path of sample.xls in my VBA. How do I do it?

Community's user avatar

asked Dec 13, 2009 at 5:12

Veera's user avatar

2

If you mean VBA, then you can use FullName, for example:

strFileFullName = ThisWorkbook.FullName

(updated as considered by the comments: the former used ActiveWorkbook.FullName could more likely be wrong, if other office files may be open(ed) and active. But in case you stored the macro in another file, as mentioned by user @user7296559 here, and really want the file name of the macro-using file, ActiveWorkbook could be the correct choice, if it is guaranteed to be active at execution time.)

Andreas Covidiot's user avatar

answered Dec 13, 2009 at 9:57

Fionnuala's user avatar

FionnualaFionnuala

90.1k7 gold badges110 silver badges148 bronze badges

3

this is a simple alternative that gives all responses, Fullname, Path, filename.

Dim FilePath, FileOnly, PathOnly As String

FilePath = ThisWorkbook.FullName
FileOnly = ThisWorkbook.Name
PathOnly = Left(FilePath, Len(FilePath) - Len(FileOnly))

answered Mar 13, 2017 at 9:44

APW's user avatar

APWAPW

2913 silver badges3 bronze badges

1

   strScriptFullname = WScript.ScriptFullName 
   strScriptPath = Left(strScriptFullname, InStrRev(strScriptFullname,"")) 

answered Dec 13, 2009 at 5:18

Mitch Wheat's user avatar

Mitch WheatMitch Wheat

294k43 gold badges465 silver badges540 bronze badges

1

If you need path only this is the most straightforward way:

PathOnly = ThisWorkbook.Path

lucascaro's user avatar

lucascaro

15.9k3 gold badges37 silver badges47 bronze badges

answered Oct 27, 2018 at 5:39

Louis's user avatar

LouisLouis

392 bronze badges

if you need path only without file name:

ActiveWorkbook.Path

it would return D:Folder

if you need file path with file name also:

ActiveWorkbook.FullName

it would return D:Foldersample.xls

if you need file name only:

ActiveWorkbook.Name

it would return sample.xls

so if you want combine file path and file name to get full directory don’t forget to add «» between. otherwise its simpler using .Path

Reeno's user avatar

Reeno

5,69911 gold badges39 silver badges50 bronze badges

answered Mar 17, 2021 at 4:17

TheAccountant's user avatar

ActiveWorkbook.FullName would be better I think, in case you have the VBA Macro stored in another Excel Workbook, but you want to get the details of the Excel you are editing, not where the Macro resides.

If they reside in the same file, then it does not matter, but if they are in different files, and you want the file where the Data is rather than where the Macro is, then ActiveWorkbook is the one to go for, because it deals with both scenarios.

Emil's user avatar

Emil

7,20117 gold badges77 silver badges134 bronze badges

answered Dec 14, 2016 at 12:41

user7296559's user avatar

There is a universal way to get this:

Function FileName() As String
    FileName = Mid(Application.Caption, 1, InStrRev(Application.Caption, "-") - 2)
End Function

answered May 15, 2018 at 16:46

Riccardo La Marca's user avatar

1

The_Fog

0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

1

30.01.2017, 12:58. Показов 27682. Ответов 18

Метки нет (Все метки)


Студворк — интернет-сервис помощи студентам

Скрипт должен получить имя активного файла, создать его копию, и в копии имени заменить некоторые символы.
Например файл назывался «12File_Name.xlsm» нужно создать копию с именем «!55File_Name.xlsm». Подскажите как реализовать такую замену символов в имени.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub Create_xls()
Sheets(1).Copy
With ActiveWorkbook
With .Sheets(1)
.Rows("11:" & .Rows.Count).Delete
.Columns("E:IV").Delete
End With
.SaveAs Filename:=ThisWorkbook.Path & "!55" & "ThisWorkbook.Name"
.Close True
End With
End Sub

т.е. проблема со строчкой

Visual Basic
1
.SaveAs Filename:=ThisWorkbook.Path & "!55" & "ThisWorkbook.Name"

Добавлено через 28 минут
Вот нашел на форуме такое решение

Visual Basic
1
.SaveAs Filename:=ThisWorkbook.Path & "!" & Replace(ActiveDocument.Name, "23", "55")

Но пишет ошибку Run-time error ‘424’ Object required.

=(



0



3217 / 966 / 223

Регистрация: 29.05.2010

Сообщений: 2,085

30.01.2017, 13:58

2

Цитата
Сообщение от The_Fog
Посмотреть сообщение

Replace(ActiveDocument.Name

А причем здесь ActiveDocument?



0



The_Fog

0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

30.01.2017, 14:15

 [ТС]

3

Я так понял

PureBasic
1
ActiveDocument.Name

с помощью этой функции можно получить имя файла. Если нет подскажите пожалуйста как получить это имя и заменить в нем пару символов.



0



toiai

3217 / 966 / 223

Регистрация: 29.05.2010

Сообщений: 2,085

30.01.2017, 14:19

4

Цитата
Сообщение от The_Fog
Посмотреть сообщение

ActiveDocument.Name

Это Word документ…
может так

Visual Basic
1
ThisWorkbook.Name



0



The_Fog

0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

30.01.2017, 14:37

 [ТС]

5

Visual Basic
1
ThisWorkbook.Name

Не не не, я тоже думал что так, но не так =(

Тоже выдает ошибку =(



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

30.01.2017, 14:40

6

ThisWorkbook — это не активная книга, а книга с кодом, не факт что они совпадают!



0



The_Fog

0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

30.01.2017, 15:22

 [ТС]

7

обе функции ошибку выдают

Visual Basic
1
.SaveAs Filename:=ThisWorkbook.Path & "!" & Replace(ActiveDocument.Name, "23", "55")



0



CyberHelp

6 / 6 / 1

Регистрация: 29.01.2017

Сообщений: 29

30.01.2017, 15:27

8

Visual Basic
1
2
3
4
5
6
Public Sub Fog()
Dim Fog1, Fog2 As String
Fog1 = ActiveWorkbook.Name
Fog2 = ActiveWorkbook.Path
ActiveWorkbook.SaveAs Filename:=Fog2 + "!55" + Fog1
End Sub

Этот макрос скопирует вам активный файл excel в ту же директорию, где находится активный файл, при этом активный файл (например «файл1») будет закрыт и будет открыто окно сохраненного файла (например «!55файл1»).

Если вам необходимо, чтобы копия файла сохранялась отдельно, т.е. без закрытия оригинального файла, то немного другой код будет.



0



0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

30.01.2017, 16:53

 [ТС]

9

не получается ошибка…



0



6 / 6 / 1

Регистрация: 29.01.2017

Сообщений: 29

30.01.2017, 17:30

10

1) Скиньте скриншот.
2) Вы код куда сохранили код макросов? В личную книгу макросов PERSONAL.XLSB?

У меня всё отлично работает.



0



6 / 6 / 1

Регистрация: 29.01.2017

Сообщений: 29

30.01.2017, 17:37

11

Вот вложил файл. Зайдите и нажмите на кнопку.
К кнопке привязан код.



1



pashulka

4131 / 2235 / 940

Регистрация: 01.12.2010

Сообщений: 4,624

30.01.2017, 18:13

12

The_Fog, Если проблема только в имени нового файла, то :

Visual Basic
1
2
3
4
5
6
Private Sub Test()
    Worksheets(1).Copy
    Rows("11:" & Rows.Count).Delete
    Columns("E:" & Columns.Count).Delete
    ActiveWorkbook.Close True, Replace(ThisWorkbook.FullName, "12", "!55")
End Sub



1



The_Fog

0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

31.01.2017, 12:51

 [ТС]

13

Visual Basic
1
2
3
4
5
6
Public Sub Fog()
Dim Fog1, Fog2 As String
Fog1 = ActiveWorkbook.Name
Fog2 = ActiveWorkbook.Path
ActiveWorkbook.SaveAs Filename:=Fog2 + "!55" + Fog1
End Sub

Этот макрос скопирует вам активный файл excel в ту же директорию, где находится активный файл, при этом активный файл (например «файл1») будет закрыт и будет открыто окно сохраненного файла (например «!55файл1»).

Если вам необходимо, чтобы копия файла сохранялась отдельно, т.е. без закрытия оригинального файла, то немного другой код будет.

Ваш код работает, а у меня почему то нет

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Sub Create_xls()
Dim Fog1, Fog2 As String
 Fog1 = ActiveWorkbook.Name
Fog2 = Replace(Fog1, "ÆÄÓ", "ÝèÔ")
Sheets(1).Copy
With ActiveWorkbook
With .Sheets(1)
.Rows("11:" & .Rows.Count).Delete
.Columns("E:IV").Delete
End With
'ActiveWorkbook.Close True, Replace(ThisWorkbook.FullName, "ÆÄÓ.xlsm", "ÝèÔ.xlsm")
 
'.SaveAs Filename:=ThisWorkbook.Path & "!" & Replace(ThisWorkbook.FullName, "ÆÄÓ", "ÝèÔ")
.SaveAs Filename:=ThisWorkbook.Path & "!" + "Fog2"
.Close True
End With



0



Hugo121

6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

31.01.2017, 12:52

14

The_Fog, что напишет

Visual Basic
1
msgbox ThisWorkbook.FullName



0



6 / 6 / 1

Регистрация: 29.01.2017

Сообщений: 29

31.01.2017, 17:11

15

Попробуйте заменить & на + везде



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

31.01.2017, 17:15

16

CyberHelp, вообще обычно рекомендуют делать наоборот



0



6 / 6 / 1

Регистрация: 29.01.2017

Сообщений: 29

31.01.2017, 17:24

17

Мой код тоже не работал пока я & не заменил на + :-D



0



6875 / 2807 / 533

Регистрация: 19.10.2012

Сообщений: 8,562

31.01.2017, 17:26

18

Это интересно, не слышал о таком казусе. Это на какой системе такое?



0



The_Fog

0 / 0 / 2

Регистрация: 24.02.2016

Сообщений: 75

01.02.2017, 17:12

 [ТС]

19

Ошибка в моем коде была…
Вот правильный вариант :

Visual Basic
1
2
3
4
5
6
7
8
Sub Create_xls()
With ActiveWorkbook
With .Sheets(1)
.Rows("150:" & .Rows.Count).Delete
.Columns("Q:IV").Delete
End With
 
.SaveAs Filename:=.Path & "!" & Replace(.Name, "ЖДУ.xlsm", "ЭиФ.xlsm")



0



IT_Exp

Эксперт

87844 / 49110 / 22898

Регистрация: 17.06.2006

Сообщений: 92,604

01.02.2017, 17:12

19

    msm.ru

    Нравится ресурс?

    Помоги проекту!

    Популярные разделы FAQ:    user posted image Общие вопросы    user posted image Особенности VBA-кода    user posted image Оптимизация VBA-кода    user posted image Полезные ссылки


    1. Старайтесь при создании темы указывать в заголовке или теле сообщения название офисного приложения и (желательно при работе с Office 95/97/2000) его версию. Это значительно сократит количество промежуточных вопросов.
    2. Формулируйте вопросы как можно конкретнее, вспоминая (хотя бы иногда) о правилах ВЕЛИКОГО И МОГУЧЕГО РУССКОГО ЯЗЫКА, и не забывая, что краткость — сестра таланта.
    3. Не забывайте использовать теги [сode=vba] …текст программы… [/code] для выделения текста программы подсветкой!
    4. Темы с просьбой выполнить какую-либо работу полностью за автора здесь не обсуждаются и переносятся в раздел ПОМОЩЬ СТУДЕНТАМ.

    >
    как получить имя текущего открытого файла?

    • Подписаться на тему
    • Сообщить другу
    • Скачать/распечатать тему



    Сообщ.
    #1

    ,
    02.03.09, 19:22

      Junior

      *

      Рейтинг (т): 1

      Уважаемые форумчане, знаю в ВБА функция CurDir возвращает строковый параметр, определяющий текущую директорию файла. А есть ли функция возвращающая просто имя текущего открытого документа? (например, документа с расширением xls)

      Profi

      Old Bat



      Сообщ.
      #2

      ,
      02.03.09, 19:35

        Moderator

        *****

        Рейтинг (т): 128

        ActiveWorkbook.Name
        ActiveDocument.Name


        goodass



        Сообщ.
        #3

        ,
        02.03.09, 21:38

          Junior

          *

          Рейтинг (т): 1

          2 Old Bat
          Спасибо!

          добавлено
          появилась следующая проблемка —
          допустим требуется проверить — существует ли файл с именем NAME в директории DIRECTORY (NAME и DIRECTORY — переменные)
          грубо говоря — как проверить существует ли в папке c: файл с именем test.xml ?
          спасибо


          Alex77



          Сообщ.
          #4

          ,
          02.03.09, 21:52

            Full Member

            ***

            Рейтинг (т): 20

            ExpandedWrap disabled

              Myfle = Dir(DIRECTORY & «» & NAME & «.xml» ) ‘ Проверяем наличие файла

              If Myfle = «» Then

              ‘код если нет

              End If

            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)

            0 пользователей:

            • Предыдущая тема
            • VB for Application
            • Следующая тема

            Рейтинг@Mail.ru

            [ Script execution time: 0,0255 ]   [ 16 queries used ]   [ Generated: 14.04.23, 16:54 GMT ]  

             

            Irbis_evs

            Пользователь

            Сообщений: 337
            Регистрация: 30.03.2017

            частично, забыл уточнить, что код открывает другой файл, необходимо вернуться обратно.
            начало кода:

            Код
            Dim sh 'As Worksheet, i&, lRow
            Dim lSpisok, itable, dSpisok, prod, dd
            book = ThisWorkbook.Name
            ' Настройка списка фильтров
            Filt = ("XLS Files(*.xl*),*.xl*")
            'Получение имени файла
            FileName1 = Application.GetOpenFilename(FileFilter:=Filt)
            ' При отмене выйти иэ окна
            If FileName1 = False Then
            MsgBox "Файл не выбран."
            End If
            Set objCloseBook = GetObject(FileName1)
            'objCloseBook.Close False
            
            
            Windows("123.xlsm").Activate
            
            Worksheets("Список").Select
            ActiveSheet.Unprotect
            ' Отображение полного имени и пути
            'MsgBox OpenWorkbook(GetObject(FileName1).Name)

            Инженер не тот, кто все знает, а тот кто знает где найти ответ.

            Содержание

            1. Метод Application.GetOpenFilename (Excel)
            2. Синтаксис
            3. Параметры
            4. Возвращаемое значение
            5. Примечания
            6. Пример
            7. Поддержка и обратная связь
            8. How to get the excel file name / path in VBA
            9. 7 Answers 7
            10. Объект File. Работа с файлами
            11. Открытие файла
            12. Проверка существования файла
            13. Получение информации о файле
            14. Манипулирование файлами
            15. Создание временных файлов
            16. Семейство Files
            17. Объект FileSystemObject
            18. Синтаксис
            19. Примечания
            20. Методы
            21. Свойства
            22. См. также
            23. Поддержка и обратная связь

            Метод Application.GetOpenFilename (Excel)

            Отображает стандартное диалоговое окно Открыть и получает у пользователя имя файла без фактического открытия файлов.

            Синтаксис

            выражение.GetOpenFilename (FileFilter, FilterIndex, Title, ButtonText, MultiSelect)

            выражение: переменная, представляющая объект Application.

            Параметры

            Имя Обязательный или необязательный Тип данных Описание
            FileFilter Необязательный Variant Строка, указывающая условия фильтрации файлов.
            FilterIndex Необязательный Variant Указывает значения индексов условий фильтрации файлов по умолчанию — от 1 до количества фильтров, указанных в FileFilter. Если этот аргумент пропущен или его значение превышает число имеющихся фильтров, используется первый фильтр файлов.
            Title Необязательный Variant Указывает заголовок диалогового окна. Если этот аргумент пропущен, используется заголовок «Открыть».
            ButtonText Необязательный Variant Только для Macintosh.
            MultiSelect Необязательный Variant Значение True, чтобы разрешить выбор нескольких имен файлов. Значение False, чтобы разрешить выбор только одного имени файла. Значение по умолчанию — False.

            Возвращаемое значение

            Примечания

            Эта строка, передаваемая в аргументе FileFilter, состоит из пар строк фильтра файлов, после которых идет спецификация фильтра файлов MS-DOS с подстановочным знаком, где каждая часть и каждая пара разделяются запятыми. Каждая отдельная пара указана в раскрывающемся списке Тип файлов. Например, следующая строка указывает два фильтра файлов — text и addin:

            «Text Files (*.txt), *.txt,Add-In Files (*.xla), *.xla»

            Чтобы использовать разные выражения с подстановочными знаками MS-DOS для одного типа фильтра файлов, разделяйте выражения с подстановочными знаками точкой с запятой. Пример: «Visual Basic Files (*.bas; *.txt), *.bas;*.txt» .

            Если FileFilter пропущен, этому аргументу по умолчанию присваивается значение «All Files (*.*), *.*» .

            Этот метод возвращает выбранное имя файла или имя, введенное пользователем. Возвращаемое имя может содержать путь. Если параметру MultiSelect присвоено значение True, возвращаемое значение является массивом выбранных имен файлов (даже если выбрано только одно имя файла). Возвращается значение False, если пользователь отменяет использование диалогового окна.

            Этот метод может менять текущий диск или папку.

            Пример

            В этом примере отображается диалоговое окно Открыть с фильтром, настроенным на текстовые файлы. Если пользователь выбирает имя файла, код отображает это имя файла в окне сообщения.

            Поддержка и обратная связь

            Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

            Источник

            How to get the excel file name / path in VBA

            Say, I’m writing a VBA inside my excel file sample.xls. Now I want to get the full path of sample.xls in my VBA. How do I do it?

            7 Answers 7

            If you mean VBA, then you can use FullName, for example:

            (updated as considered by the comments: the former used ActiveWorkbook.FullName could more likely be wrong, if other office files may be open(ed) and active. But in case you stored the macro in another file, as mentioned by user @user7296559 here, and really want the file name of the macro-using file, ActiveWorkbook could be the correct choice, if it is guaranteed to be active at execution time.)

            this is a simple alternative that gives all responses, Fullname, Path, filename.

            If you need path only this is the most straightforward way:

            if you need path only without file name:

            it would return D:Folder

            if you need file path with file name also:

            it would return D:Foldersample.xls

            if you need file name only:

            it would return sample.xls

            so if you want combine file path and file name to get full directory don’t forget to add «» between. otherwise its simpler using .Path

            ActiveWorkbook.FullName would be better I think, in case you have the VBA Macro stored in another Excel Workbook, but you want to get the details of the Excel you are editing, not where the Macro resides.

            If they reside in the same file, then it does not matter, but if they are in different files, and you want the file where the Data is rather than where the Macro is, then ActiveWorkbook is the one to go for, because it deals with both scenarios.

            Источник

            Объект File. Работа с файлами

            Объект File позволяет выполнять различные манипуляции с файлом, например, копировать или удалить файл, а также предоставляет доступ к информации о файле, например, можно получить размер файла или дату и время создания файла. Создать объект позволяет метод GetFile( ) объекта FileSystemObject . В параметре указывается путь к файлу. Путь может быть абсолютным или относительным. При указании относительного пути полный путь определяется с учетом местоположения текущего рабочего каталога и текущего диска. Пример создания объекта:

            Открытие файла

            Открыть файл позволяет метод OpenAsTextStream() объекта File , который возвращает ссылку на объект TextStream . Формат метода:

            Необязательный параметр задает режим открытия файла:

            • ForReading — чтение (значение по умолчанию). Указатель устанавливается на начало файла;
            • ForWriting — запись. Содержимое файла удаляется. Указатель устанавливается на начало файла;
            • ForAppending — добавление. Содержимое файла не удаляется. Указатель устанавливается на конец файла.

            В необязательном параметре указываются следующие значения:

            • TristateFalse — 0 — кодировка ASCII (значение по умолчанию);
            • TristateTrue — -1 — кодировка Unicode;
            • TristateUseDefault — -2 — кодировка, используемая в системе по умолчанию.

            Пример открытия файла на запись:

            Проверка существования файла

            Проверить существование файла позволяет метод FileExists( ) объекта FileSystemObject . В параметре указывается путь к файлу. Метод возвращает значение True , если файл существует и False — в противном случае. Пример:

            Получение информации о файле

            Получить информацию о файле позволяют следующие свойства объекта File :

            • Size — размер файла;
            • Path — полный путь к файлу (например, D:VBAfile1.txt );
            • ShortPath — короткий путь к файлу;
            • Drive — имя диска (например, D: );
            • Name — имя файла без пути;
            • ShortName — короткое имя файла;
            • Type — тип файла;
            • ParentFolder — ссылка на объект родительского каталога;
            • DateCreated — дата и время создания файла;
            • DateLastAccessed — дата и время последнего доступа к файлу;
            • DateLastModified — дата и время последнего изменения файла;
            • Attributes — позволяет определить какие атрибуты установлены для файла. Содержит сумму следующих значений:
            • 0 — Normal — обычный файл (только чтение);
            • 1 — ReadOnly — файл доступен только для чтения (чтение и запись);
            • 2 — Hidden — скрытый файл (чтение и запись);
            • 4 — System — системный файл (чтение и запись);
            • 16 — Directory — путь указывает на каталог (только чтение);
            • 32 — Archive — архивный файл (чтение и запись);
            • 64 — Alias — имя файла является псевдонимом (только чтение);
            • 128 — Compressed — сжатый файл (только чтение).

            Проверить, установлен атрибут или нет, позволяет оператор And . Если атрибут установлен, то результатом операции будет ненулевое значение. Если этому свойству присвоить новое значение, то атрибуты файла (доступные для записи) будут изменены.

            Пример получения и изменения атрибутов файла показан в листинге 13.1.

            Листинг 13.1. Получение и изменение атрибутов файла

            Манипулирование файлами

            Для манипулирования файлами предназначены следующие методы объекта File :

            • Move — позволяет переместить или переименовать файл:

            Вместо метода Move() можно воспользоваться методом MoveFile() объекта FileSystemObject . Формат метода:

            Пример переименования файла file1.txt в file3.txt :

            Параметр может содержать подстановочные знаки в последнем компоненте пути. Например, переместить все текстовые файлы из каталога folder1 в каталог folder2 можно так:

            • Copy [, ] — позволяет скопировать содержимое файла в другой файл. Если во втором параметре указано значение True (значение по умолчанию), то существующий файл будет перезаписан, а если значение False — то генерируется ошибка. Пример:

            Вместо метода Copy() можно воспользоваться методом CopyFile() объекта FileSystemObject . Формат метода:

            Пример создания копии файла file3.txt :

            Параметр может содержать подстановочные знаки в последнем компоненте пути. Например, скопировать все текстовые файлы из каталога folder2 в каталог folder1 можно так:

            • Delete [ ] — удаляет файл. Если в параметре указано значение True , то файл удаляется даже в случае, если он доступен только для чтения. По умолчанию параметр имеет значение False . Пример:

            Вместо метода Delete() можно воспользоваться методом DeleteFile() объекта FileSystemObject . Формат метода:

            Пример удаления файла file3.txt :

            Создание временных файлов

            С помощью метода GetTempName() объекта FileSystemObject можно сгенерировать уникальное имя для временного файла. Обратите внимание на то, что метод не создает файл, а лишь возвращает уникальное имя в виде строки (например, «radDA657.tmp «). Пример:

            Семейство Files

            Семейство Files содержит несколько объектов File . Доступ к объекту в коллекции выполняется с помощью метода Item( ) или с помощью цикла For Each. Next . Получить количество объектов в коллекции позволяет свойство Count .

            С помощью свойства Files объекта Folder можно получить ссылку на коллекцию всех файлов в каталоге. В качестве примера выведем названия всех файлов в каталоге:

            Статьи по Visual Basic for Applications (VBA)

            Помощь сайту

            ПАО Сбербанк:
            Счет: 40817810855006152256
            Реквизиты банка:
            Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
            Корреспондентский счет: 30101810500000000653
            БИК: 044030653
            КПП: 784243001
            ОКПО: 09171401
            ОКОНХ: 96130
            Скриншот реквизитов

            Источник

            Объект FileSystemObject

            Предоставляет доступ к файловой системе компьютера.

            Синтаксис

            Scripting.FileSystemObject

            Примечания

            Приведенный ниже код иллюстрирует использование объекта FileSystemObject для возврата объекта TextStream, который можно читать, и в который можно записать данные.

            • Функция CreateObject возвращает объект FileSystemObject ( fs ).
            • Метод CreateTextFile создает файл в качестве объекта TextStream ( a ).
            • Метод WriteLine записывает строку текста в созданный текстовый файл.
            • Метод Close опустошает буфер и закрывает файл.

            Методы

            Метод Описание
            BuildPath Добавляет имя в существующий путь.
            CopyFile Копирует один или несколько файлов из одного расположения в другое.
            CopyFolder Копирует одну или несколько папок из одного расположения в другое.
            CreateFolder Создает новую папку.
            CreateTextFile Создает текстовый файл и возвращает объект TextStream, который можно использовать для чтения или записи в файл.
            DeleteFile Удаляет один или несколько указанных файлов.
            DeleteFolder Удаляет одну или несколько указанных папок.
            DriveExists Проверяет, существует ли указанный диск.
            FileExists Проверяет, существует ли указанный файл.
            FolderExists Проверяет, существует ли указанная папка.
            GetAbsolutePathName Возвращает полный путь из корневого каталога диска для указанного пути.
            GetBaseName Возвращает базовое имя указанного файла или папки.
            GetDrive Возвращает объект Drive, соответствующий диску в указанном пути.
            GetDriveName Возвращает имя диска указанного пути.
            GetExtensionName Возвращает имя расширения файла для последнего компонента в указанном пути.
            GetFile Возвращает объект файла для указанного пути.
            GetFileName Возвращает имя файла или папки для последнего компонента в указанном пути.
            GetFolder Возвращает объект Folder для указанного пути.
            GetParentFolderName Возвращает имя родительской папки последнего компонента в указанном пути.
            GetSpecialFolder Возвращает путь к некоторым специальным папкам Windows.
            GetTempName Возвращает созданный случайным образом временный файл или папку.
            Move Перемещает заданный файл или указанную папку из одного места в другое.
            MoveFile Перемещает один или несколько файлов из одного места в другое.
            MoveFolder Перемещает одну или несколько папок из одного места в другое.
            OpenAsTextStream Открывает указанный файл и возвращает объект TextStream, который можно использовать для считывания, записи и дополнения данных в файле.
            OpenTextFile Открывает файл и возвращает объект TextStream, который можно использовать для доступа к файлу.
            WriteLine Записывает заданную строку и символ новой строки в файл TextStream.

            Свойства

            Свойство Описание
            Drives Возвращает коллекцию всех объектов Drive на компьютере.
            Name Устанавливает или возвращает имя указанного файла или заданной папки.
            Path Возвращает путь для указанного файла, диска или указанной папки.
            Size Для файлов возвращает размер указанного файла в байтах; для папок возвращает размер всех файлов и вложенных папок в байтах.
            Type Возвращает сведения о типе файла или папки (например, для файлов с расширением .TXT возвращается «Text Document»).

            См. также

            Поддержка и обратная связь

            Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

            Источник

            Понравилась статья? Поделить с друзьями:
          • Vba excel имя листа проверить
          • Vba excel изменить тип ячейки
          • Vba excel имя листа по номеру
          • Vba excel изменить тип переменной
          • Vba excel защитить ячейку от изменений в excel