Vba excel если файл не существует

I have this code. It is supposed to check if a file exists and open it if it does. It does work if the file exists, and if it doesn’t, however, whenever I leave the textbox blank and click the submit button, it fails. What I want, if the textbox is blank is to display the error message just like if the file didn’t exist.

Runtime-error «1004»

Dim File As String
File = TextBox1.Value
Dim DirFile As String

DirFile = "C:Documents and SettingsAdministratorDesktop" & File
If Dir(DirFile) = "" Then
  MsgBox "File does not exist"
Else
    Workbooks.Open Filename:=DirFile
End If

ZygD's user avatar

ZygD

21k39 gold badges77 silver badges98 bronze badges

asked May 3, 2013 at 3:43

Josephine Bautista's user avatar

2

something like this

best to use a workbook variable to provide further control (if needed) of the opened workbook

updated to test that file name was an actual workbook — which also makes the initial check redundant, other than to message the user than the Textbox is blank

Dim strFile As String
Dim WB As Workbook
strFile = Trim(TextBox1.Value)
Dim DirFile As String
If Len(strFile) = 0 Then Exit Sub

DirFile = "C:Documents and SettingsAdministratorDesktop" & strFile
If Len(Dir(DirFile)) = 0 Then
  MsgBox "File does not exist"
Else
 On Error Resume Next
 Set WB = Workbooks.Open(DirFile)
 On Error GoTo 0
 If WB Is Nothing Then MsgBox DirFile & " is invalid", vbCritical
End If

answered May 3, 2013 at 5:01

brettdj's user avatar

3

I use this function to check for file existence:

Function IsFile(ByVal fName As String) As Boolean
'Returns TRUE if the provided name points to an existing file.
'Returns FALSE if not existing, or if it's a folder
    On Error Resume Next
    IsFile = ((GetAttr(fName) And vbDirectory) <> vbDirectory)
End Function

answered Jan 30, 2015 at 14:19

iDevlop's user avatar

iDevlopiDevlop

24.6k11 gold badges89 silver badges147 bronze badges

13

For checking existence one can also use (works for both, files and folders):

Not Dir(DirFile, vbDirectory) = vbNullString

The result is True if a file or a directory exists.

Example:

If Not Dir("C:Temptest.xlsx", vbDirectory) = vbNullString Then
    MsgBox "exists"
Else
    MsgBox "does not exist"
End If

answered Nov 18, 2015 at 4:35

ZygD's user avatar

ZygDZygD

21k39 gold badges77 silver badges98 bronze badges

1

A way that is clean and short:

Public Function IsFile(s)
    IsFile = CreateObject("Scripting.FileSystemObject").FileExists(s)
End Function

answered Apr 3, 2020 at 4:37

Excel Hero's user avatar

Excel HeroExcel Hero

14.1k4 gold badges31 silver badges39 bronze badges

1

Function FileExists(ByRef strFileName As String) As Boolean
' TRUE if the argument is an existing file
' works with Unicode file names
    On Error Resume Next
    Dim objFSO As Object
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    FileExists = objFSO.FileExists(strFileName)
    On Error GoTo 0
End Function

To make the function run faster, objFSO can be made a global variable and the code can be modified and saved in a module like this:

Option Explicit
Dim objFSO As Object
Function FileExists(ByRef strFileName As String) As Boolean
' TRUE if the argument is an existing file
' works with Unicode file names
    On Error Resume Next
    If objFSO Is Nothing Then Set objFSO = CreateObject("Scripting.FileSystemObject")
    FileExists = objFSO.FileExists(strFileName)
    On Error GoTo 0
End Function

For strFileName to be a unicode string, you can, for example, either get it from a cell value or define it in a special way, as Excel’s VBE doesn’t save string constants in Unicode. VBE does support Unicode strings already saved in string variables. You’re gonna have to look this up for further details.

Hope this helps somebody ^_^

answered Nov 19, 2021 at 0:46

Jalal's user avatar

JalalJalal

5466 silver badges12 bronze badges

Maybe it caused by Filename variable

File = TextBox1.Value

It should be

Filename = TextBox1.Value

answered May 3, 2013 at 3:52

matzone's user avatar

matzonematzone

5,6933 gold badges17 silver badges20 bronze badges

1

Speed of Various FileExists Methods

I needed to check file existence for many of my projects, so I wanted to determine the fastest option. I used the micro timer code (see Benchmarking VBA Code) to run the File Exist functions below the table against a local folder with 2865 files to see which was faster. Winner used GetAttr. Using FSO method for Test 2 was a bit faster with the object defined as a global than not, but not as fast as the GetAttr method.

------------------------------------------------------
% of Fastest                Seconds       Name
------------------------------------------------------
100.00000000000%             0.0237387    Test 1 - GetAttr
7628.42784145720%            1.8108896    Test 2 - FSO (Obj Global)
8360.93687615602%            2.0522254    Test 2 - FSO (Obj in Function)
911.27399562739%             0.2163246    Test 3 - Dir
969.96844814586%             0.2302579    Test 4 - Dir$
969.75108156723%             0.2302063    Test 5 - VBA.Dir
933.82240813524%             0.2216773    Test 6 - VBA.Dir$
7810.66612746275%            1.8541506    Test 7 - Script.FSO

Function FileExistsGA(ByVal FileSpec As String) As Boolean
  ' Karl Peterson MS VB MVP
  Dim Attr As Long
  ' Guard against bad FileSpec by ignoring errors
  ' retrieving its attributes.
  On Error Resume Next
  Attr = GetAttr(FileSpec)
  If Err.Number = 0 Then
    ' No error, so something was found.
    ' If Directory attribute set, then not a file.
    FileExistsGA = Not ((Attr And vbDirectory) = vbDirectory)
  End If
End Function

Function FSOFileExists(sFilePathNameExt As String) As Boolean
    Dim fso As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    FSOFileExists = fso.FileExists(sFilePathNameExt)
    Set fso = Nothing
End Function

Function FileExistsDir(sFilePathNameExt As String) As Boolean
    If Len(Dir(sFilePathNameExt)) > 0 Then FileExistsDir = True
End Function

Function FileExistsDirDollar(sFilePathNameExt As String) As Boolean
    If Len(Dir$(sFilePathNameExt)) > 0 Then FileExistsDirDollar = True
End Function

Function FileExistsVBADirDollar(sFilePathNameExt As String) As Boolean
    If Len(VBA.Dir$(sFilePathNameExt)) > 0 Then FileExistsVBADirDollar = True
End Function

Function FileExistsVBADir(sFilePathNameExt As String) As Boolean
    If Len(VBA.Dir(sFilePathNameExt)) > 0 Then FileExistsVBADir = True
End Function

Public Function IsFileSFSO(s)
    IsFileSFSO = CreateObject("Scripting.FileSystemObject").FileExists(s)
End Function

I realize that this does not fully answer the OP, but is provides information on which of the answers provided seems to be most efficient.

answered Nov 29, 2022 at 19:18

PhilB's user avatar

PhilBPhilB

764 bronze badges

I’ll throw this out there and then duck.
The usual reason to check if a file exists is to avoid an error when attempting to open it. How about using the error handler to deal with that:

Function openFileTest(filePathName As String, ByRef wkBook As Workbook, _
                      errorHandlingMethod As Long) As Boolean
'Returns True if filePathName is successfully opened,
'        False otherwise.
   Dim errorNum As Long

'***************************************************************************
'  Open the file or determine that it doesn't exist.
   On Error Resume Next:
   Set wkBook = Workbooks.Open(fileName:=filePathName)
   If Err.Number <> 0 Then
      errorNum = Err.Number
      'Error while attempting to open the file. Maybe it doesn't exist?
      If Err.Number = 1004 Then
'***************************************************************************
      'File doesn't exist.
         'Better clear the error and point to the error handler before moving on.
         Err.Clear
         On Error GoTo OPENFILETEST_FAIL:
         '[Clever code here to cope with non-existant file]
         '...
         'If the problem could not be resolved, invoke the error handler.
         Err.Raise errorNum
      Else
         'No idea what the error is, but it's not due to a non-existant file
         'Invoke the error handler.
         Err.Clear
         On Error GoTo OPENFILETEST_FAIL:
         Err.Raise errorNum
      End If
   End If

   'Either the file was successfully opened or the problem was resolved.
   openFileTest = True
   Exit Function

OPENFILETEST_FAIL:
   errorNum = Err.Number
   'Presumabley the problem is not a non-existant file, so it's
   'some other error. Not sure what this would be, so...
   If errorHandlingMethod < 2 Then
      'The easy out is to clear the error, reset to the default error handler,
      'and raise the error number again.
      'This will immediately cause the code to terminate with VBA's standard
      'run time error Message box:
      errorNum = Err.Number
      Err.Clear
      On Error GoTo 0
      Err.Raise errorNum
      Exit Function

   ElseIf errorHandlingMethod = 2 Then
      'Easier debugging, generate a more informative message box, then terminate:
      MsgBox "" _
           & "Error while opening workbook." _
           & "PathName: " & filePathName & vbCrLf _
           & "Error " & errorNum & ": " & Err.Description & vbCrLf _
           , vbExclamation _
           , "Failure in function OpenFile(), IO Module"
      End

   Else
      'The calling function is ok with a false result. That is the point
      'of returning a boolean, after all.
      openFileTest = False
      Exit Function
   End If

End Function 'openFileTest()

answered Dec 10, 2015 at 6:40

riderBill's user avatar

riderBillriderBill

7908 silver badges16 bronze badges

Here is my updated code. Checks to see if version exists before saving and saves as the next available version number.

Sub SaveNewVersion()
    Dim fileName As String, index As Long, ext As String
    arr = Split(ActiveWorkbook.Name, ".")
    ext = arr(UBound(arr))

    fileName = ActiveWorkbook.FullName

    If InStr(ActiveWorkbook.Name, "_v") = 0 Then
        fileName = ActiveWorkbook.Path & "" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & "_v1." & ext
    End If

   Do Until Len(Dir(fileName)) = 0

        index = CInt(Split(Right(fileName, Len(fileName) - InStr(fileName, "_v") - 1), ".")(0))
        index = index + 1
        fileName = Left(fileName, InStr(fileName, "_v") - 1) & "_v" & index & "." & ext

    'Debug.Print fileName
   Loop

    ActiveWorkbook.SaveAs (fileName)
End Sub

answered Mar 21, 2018 at 20:52

Andrew Prostko's user avatar

You should set a condition loop to check the TextBox1 value.

If TextBox1.value = "" then
   MsgBox "The file not exist" 
   Exit sub 'exit the macro
End If

Hope it help you.

answered May 3, 2013 at 4:05

Leng Keong's user avatar

Leng KeongLeng Keong

1431 silver badge3 bronze badges

Return to VBA Code Examples

VBA allows you to check if a file or folder exists by using the Dir function.

Using the Dir Command to Check If a File Exists

As we mentioned in the introduction, the Dir function allows us to check if a selected file exists on the computer. Here is the code:

Sub CheckFileExists ()

Dim strFileName As String
Dim strFileExists As String

    strFileName = "C:UsersNikolaDesktopVBA articlesTest File Exists.xlsx"
    strFileExists = Dir(strFileName)

   If strFileExists = "" Then
        MsgBox "The selected file doesn't exist"
    Else
        MsgBox "The selected file exists"
    End If

End Sub

We first assigned the file path to the variable strFileName. Then we use the Dir function to get the file name into the variable strFileExists. If the file exists in the directory, its name will be assigned to the string variable strFileExists.  If it does not exist then strFileExists will remain blank.  Finally, the message box appears informing us if the file exists or not.

Using the Dir Command to Check If a Folder Exists

Similarly to checking if a file exists, you can check if a folder exists. You just need to add one argument to the Dir command. Let’s look at the code:

Sub CheckFolderExists ()

Dim strFolderName As String
Dim strFolderExists As String

    strFolderName = "C:UsersNikolaDesktopVBA articlesTest Folder"
    strFolderExists = Dir(strFolderName, vbDirectory)

    If strFolderExists = "" Then
        MsgBox "The selected folder doesn't exist"
    Else
        MsgBox "The selected folder exists"
    End If

End Sub

We first assigned the folder path to the variable strFolderName. Then we use the Dir function to get the file name into the variable strFileExists. In order to check a folder, we need to add the second argument to the function – vbDirecotry. If the folder exists in the directory, its name will be assigned to the variable strFolderExists. If not strFolderExists will remain blank.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!
vba save as

Learn More!

Содержание

  1. VBA Check if File or Folder Exists
  2. Using the Dir Command to Check If a File Exists
  3. Using the Dir Command to Check If a Folder Exists
  4. VBA Coding Made Easy
  5. VBA Code Examples Add-in
  6. Объект File. Работа с файлами
  7. Открытие файла
  8. Проверка существования файла
  9. Получение информации о файле
  10. Манипулирование файлами
  11. Создание временных файлов
  12. Семейство Files
  13. Проверка файла VBA существует — Функция VBA DIR для проверки наличия файла
  14. Проверьте наличие файла с помощью Excel VBA
  15. Как использовать файл проверки VBA в Excel?
  16. Пример № 1 — файл проверки VBA существует
  17. Пример № 2 — DIR с условием IF
  18. Рекомендуемые статьи
  19. Объект FileSystemObject
  20. Синтаксис
  21. Примечания
  22. Методы
  23. Свойства
  24. См. также
  25. Поддержка и обратная связь

VBA Check if File or Folder Exists

VBA allows you to check if a file or folder exists by using the Dir function.

Using the Dir Command to Check If a File Exists

As we mentioned in the introduction, the Dir function allows us to check if a selected file exists on the computer. Here is the code:

We first assigned the file path to the variable strFileName. Then we use the Dir function to get the file name into the variable strFileExists. If the file exists in the directory, its name will be assigned to the string variable strFileExists. If it does not exist then strFileExists will remain blank. Finally, the message box appears informing us if the file exists or not.

Using the Dir Command to Check If a Folder Exists

Similarly to checking if a file exists, you can check if a folder exists. You just need to add one argument to the Dir command. Let’s look at the code:

We first assigned the folder path to the variable strFolderName. Then we use the Dir function to get the file name into the variable strFileExists. In order to check a folder, we need to add the second argument to the function – vbDirecotry. If the folder exists in the directory, its name will be assigned to the variable strFolderExists. If not strFolderExists will remain blank.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro — A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

VBA Code Examples Add-in

Easily access all of the code examples found on our site.

Simply navigate to the menu, click, and the code will be inserted directly into your module. .xlam add-in.

Источник

Объект 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
Скриншот реквизитов

Источник

Проверка файла VBA существует — Функция VBA DIR для проверки наличия файла

Проверьте наличие файла с помощью Excel VBA

VBA Check File Exists помогает проверить, существует ли файл в Location с помощью Excel VBA. После упоминания пути к файлу на компьютере, что если кто-то удалит файл или изменит путь к папке с файлом, очевидно, что в этом случае наш код выдаст ошибку. Чтобы решить эту проблему, мы можем сделать одну вещь, прежде чем мы действительно откроем файл, мы можем проверить, существует ли упомянутый файл или нет.

В этой статье мы покажем вам, как проверить, существует ли указанный файл или нет.

Как проверить, существует файл или нет?

  • Как Excel VBA знает, существует ли файл или нет ??
  • По умолчанию это не может .
  • Так как же тогда ??
  • Нам нужно использовать функцию под названием «Dir», чтобы проверить, существует файл или нет.

Что делает функция DIR?

Функция VBA DIR возвращает имя имени файла с его расширением в указанном пути к папке. Если в папке нет файла, она возвращает пустую строку.

Таким образом, используя эту функцию, мы можем на самом деле проверить, существует файл или нет. Даже без функции DIR мы можем проверить, существует файл или нет. Мы увидим некоторые примеры ниже.

Как использовать файл проверки VBA в Excel?

Мы узнаем, как использовать функцию проверки наличия файлов VBA, с несколькими примерами в Excel.

Вы можете скачать этот файл Excel с шаблоном проверки VBA здесь — Шаблон проверки VBA с файлом Excel существует

Пример № 1 — файл проверки VBA существует

Хорошо, давайте напишем некоторый код, чтобы проверить, существует файл или нет. Выполните следующие шаги, чтобы написать код самостоятельно.

Шаг 1: Для этого перейдите в окно VBA и в меню «Вставка» выберите «Модуль», как показано ниже.

Шаг 2: Запустите подпроцедуру.

Код:

Шаг 3: Определите переменную как String.

Код:

Шаг 4: Теперь я хочу протестировать файл с именем «Глава-11. InputBoxes.xlsm ”в моем E-Drive”. Я назначу свой путь к файлу этой переменной.

Код:

Шаг 5: Теперь определите еще одну переменную для применения функции DIR.

Код:

Шаг 6: Теперь для второй переменной откройте функцию DIR.

Код:

Шаг 7: Функция DIR требует путь к файлу. Поскольку мы уже присвоили путь к файлу переменной «FilePath», мы можем просто передать эту переменную в функцию DIR.

Код:

Шаг 8: Теперь функция DIR возвращает только имя файла как «Глава-11. InputBoxes »из указанного пути к файлу. Итак, давайте покажем результат в окне сообщения.

Код:

Шаг 9: Теперь запустите макрос, чтобы увидеть результат.

Поскольку в указанном пути существует файл, наша функция DIR отфильтровывает имя файла по огромному пути.

Шаг 10: Теперь я изменю имя файла на другое, чего нет в указанном пути.

Код:

Шаг 11: Если я сейчас запусту код, он вернет пустую строку в окне сообщения.

Функция DIR лучше всего подходит для использования с оператором IF в VBA. Выше мы могли видеть только имя файла с его расширением, если оно существует, иначе мы могли видеть только пустую строку.

Пример № 2 — DIR с условием IF

Шаг 1: Но используя оператор IF с функцией DIR, мы можем изменить наши результаты. Для примера посмотрите на код ниже.

Код:

Шаг 2: Здесь условие IF проверяет, является ли значение переменной «FileExists» ничем («») или нет. Если значение переменной — ничто («»), то он вернет результат как «Файл не существует в указанном пути», либо он вернет результат как «Файл существует в указанном пути»

Ниже приведен пример того же скриншота.

Используя функцию DIR, мы можем проверить, существует файл или нет.

Рекомендуемые статьи

Это руководство к VBA Check File Exists. Здесь мы обсудим, как использовать функцию проверки наличия файла в Excel VBA, а также с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи —

  1. Функция копирования и вставки в VBA
  2. Функция подстроки Excel
  3. Индекс VBA вне диапазона
  4. Excel ISNUMBER Formula

Источник

Объект 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 и обратная связь.

Источник

7 ответов

что-то вроде этого

лучше использовать переменную рабочей книги для обеспечения дальнейшего контроля (при необходимости) открытой рабочей книги

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

Dim strFile As String
Dim WB As Workbook
strFile = Trim(TextBox1.Value)
Dim DirFile As String
If Len(strFile) = 0 Then Exit Sub

DirFile = "C:Documents and SettingsAdministratorDesktop" & strFile
If Len(Dir(DirFile)) = 0 Then
  MsgBox "File does not exist"
Else
 On Error Resume Next
 Set WB = Workbooks.Open(DirFile)
 On Error GoTo 0
 If WB Is Nothing Then MsgBox DirFile & " is invalid", vbCritical
End If

brettdj
03 май 2013, в 06:15

Поделиться

Я использую эту функцию для проверки существования файла:

Function IsFile(ByVal fName As String) As Boolean
'Returns TRUE if the provided name points to an existing file.
'Returns FALSE if not existing, or if it a folder
    On Error Resume Next
    IsFile = ((GetAttr(fName) And vbDirectory) <> vbDirectory)
End Function

Patrick Honorez
30 янв. 2015, в 14:37

Поделиться

Для проверки существования можно также использовать (работает как для файлов, так и для файлов):

Not Dir(DirFile, vbDirectory) = vbNullString

Результатом является True если файл или каталог существует.

Пример:

If Not Dir("C:Temptest.xlsx", vbDirectory) = vbNullString Then
    MsgBox "exists"
Else
    MsgBox "does not exist"
End If

ZygD
18 нояб. 2015, в 06:21

Поделиться

Вот мой обновленный код. Проверяет, существует ли версия до сохранения и сохраняет в качестве следующего доступного номера версии.

Sub SaveNewVersion()
    Dim fileName As String, index As Long, ext As String
    arr = Split(ActiveWorkbook.Name, ".")
    ext = arr(UBound(arr))

    fileName = ActiveWorkbook.FullName

    If InStr(ActiveWorkbook.Name, "_v") = 0 Then
        fileName = ActiveWorkbook.Path & "" & Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1) & "_v1." & ext
    End If

   Do Until Len(Dir(fileName)) = 0

        index = CInt(Split(Right(fileName, Len(fileName) - InStr(fileName, "_v") - 1), ".")(0))
        index = index + 1
        fileName = Left(fileName, InStr(fileName, "_v") - 1) & "_v" & index & "." & ext

    'Debug.Print fileName
   Loop

    ActiveWorkbook.SaveAs (fileName)
End Sub

Andrew Prostko
21 март 2018, в 21:18

Поделиться

Я брошу это там, а потом утку. Обычная причина, чтобы проверить, существует ли файл, — это избежать ошибки при попытке ее открыть. Как насчет использования обработчика ошибок, чтобы справиться с этим:

Function openFileTest(filePathName As String, ByRef wkBook As Workbook, _
                      errorHandlingMethod As Long) As Boolean
'Returns True if filePathName is successfully opened,
'        False otherwise.
   Dim errorNum As Long

'***************************************************************************
'  Open the file or determine that it doesn't exist.
   On Error Resume Next:
   Set wkBook = Workbooks.Open(fileName:=filePathName)
   If Err.Number <> 0 Then
      errorNum = Err.Number
      'Error while attempting to open the file. Maybe it doesn't exist?
      If Err.Number = 1004 Then
'***************************************************************************
      'File doesn't exist.
         'Better clear the error and point to the error handler before moving on.
         Err.Clear
         On Error GoTo OPENFILETEST_FAIL:
         '[Clever code here to cope with non-existant file]
         '...
         'If the problem could not be resolved, invoke the error handler.
         Err.Raise errorNum
      Else
         'No idea what the error is, but it not due to a non-existant file
         'Invoke the error handler.
         Err.Clear
         On Error GoTo OPENFILETEST_FAIL:
         Err.Raise errorNum
      End If
   End If

   'Either the file was successfully opened or the problem was resolved.
   openFileTest = True
   Exit Function

OPENFILETEST_FAIL:
   errorNum = Err.Number
   'Presumabley the problem is not a non-existant file, so it's
   'some other error. Not sure what this would be, so...
   If errorHandlingMethod < 2 Then
      'The easy out is to clear the error, reset to the default error handler,
      'and raise the error number again.
      'This will immediately cause the code to terminate with VBA standard
      'run time error Message box:
      errorNum = Err.Number
      Err.Clear
      On Error GoTo 0
      Err.Raise errorNum
      Exit Function

   ElseIf errorHandlingMethod = 2 Then
      'Easier debugging, generate a more informative message box, then terminate:
      MsgBox "" _
           & "Error while opening workbook." _
           & "PathName: " & filePathName & vbCrLf _
           & "Error " & errorNum & ": " & Err.Description & vbCrLf _
           , vbExclamation _
           , "Failure in function OpenFile(), IO Module"
      End

   Else
      'The calling function is ok with a false result. That is the point
      'of returning a boolean, after all.
      openFileTest = False
      Exit Function
   End If

End Function 'openFileTest()

riderBill
10 дек. 2015, в 06:57

Поделиться

Возможно, это вызвано переменной Filename

File = TextBox1.Value

Должен быть

Filename = TextBox1.Value

matzone
03 май 2013, в 04:48

Поделиться

Вы должны установить цикл условий, чтобы проверить значение TextBox1.

If TextBox1.value = "" then
   MsgBox "The file not exist" 
   Exit sub 'exit the macro
End If

Надеюсь, это поможет вам.

Leng Keong
03 май 2013, в 04:48

Поделиться

Ещё вопросы

  • 0Изменение времени при использовании входного плагина jdbc в logstash
  • 0jQuery originalevent offsetx свойство?
  • 1Попытка создать случайный массив, который я могу вызвать 5 раз, и который я могу проверить на ввод пользователя
  • 1Google Drive Rest API для Android
  • 0оптимизация mysql UPDATE JOIN индексы производительности
  • 0используя php foreach для данных в электронном письме
  • 0Есть ли библиотека для распознавания даты в любом формате?
  • 0Пользовательские страницы ошибок для 404 и 500 статусов
  • 0Добавление кнопки закрытия в автоматическое всплывающее окно
  • 1Как использовать команды только при запуске текущей команды?
  • 0перенос слов в машинах MAC
  • 0Простая структура с использованием div
  • 0Многоязычный скрипт неправильно перенаправляет на запрашиваемую страницу
  • 1Как отсортировать список <String>, содержащий несколько полей, разделенных ‘| ~’
  • 0затемнение страницы с помощью jquery после нажатия кнопки
  • 0Компонент не разрешает внедрение $ scope (угловой 1.3.16)
  • 0Дата по умолчанию не отображается правильно в jQuery datePicker
  • 1Скрыть панель кнопок в Android
  • 0Как получить текущее значение DB_HOST запроса в Laravel
  • 0Параметры обратного вызова смещены
  • 1Различное поведение с torch.mean (data, 0) и torch.mean (data) для вектора
  • 1Рисование текста на холсте шрифтом WINGDING.ttf не работает на Android
  • 0Заголовок в теге alt (alt = ‘<h1> Test </ h1>’)
  • 1ASP.NET Publishing со старой ссылкой на сборку
  • 0Выйти из Facebook Чат через JavaScript
  • 1Простой пример ContactsContract API
  • 0Могут ли частные члены получать доступ с помощью Public Pointer к нему в C ++?
  • 1Модуль Es 6 загружен в Chrome, но не запущен
  • 1Цикл while с условием nextLine
  • 1Каков тип потока для функции zipAll, например, в lodash / fp?
  • 1При нажатии на Sprite не регистрируется
  • 0Ошибка триггера MYSQL. Как решить?
  • 0Анимация SpriteSheet -> Лаг?
  • 1Ошибка при вызове функции в Python3.5
  • 1Совместное использование транзакций между соединениями
  • 0Возникла проблема с подключением моего углового контроллера к моему представлению
  • 1Странное изображение, созданное matplotlib
  • 1Получить результат postgres-запроса как переменную в nodejs
  • 1Как я могу использовать группы lambdaj для сценария по умолчанию
  • 0Codeigniter возвращает нулевой массив из пользовательской функции
  • 1Могу ли я сделать http-запрос с использованием javascript с локального хоста на веб-сайт?
  • 0Angular Dropdown (может быть просто IE): странное расположение выпадающего в IE
  • 1Ошибка Gson? Присутствие десериализатора повреждает процесс сериализации в Gson
  • 1Android — создайте схему для моего приложения, которая будет открываться по ссылке на веб-странице
  • 0Простой способ иметь горизонтальную прокрутку в HTML?
  • 0HighCharts / HighStocks: круговая диаграмма с Highstock
  • 0Подключите Java удаленно к базе данных MYSQL в другой сети
  • 0Извлечь верхнюю и нижнюю границы из списка (вектор) 2D координат
  • 1почему форма с именем добавляется в свойства документа
  • 0Получить все с отличным идентификатором пользователя и порядком по общему счету

Настоящая заметка продолжает знакомство с VBA. В ней представлены некоторые «практичные» функции, которые могут использоваться в ваших приложениях либо помогут в создании аналогичных функций. Эти функции наиболее полезны, когда вызываются из другой процедуры VBA. Следовательно, они объявляются с ключевым словом Private и не отображаются в диалоговом окне Excel Мастер функций (подробнее см. Работа с процедурами VBA).[1]

Функция FileExists

Данная функция получает один аргумент (путь и имя файла) и возвращает ИСТИНА, если файл существует.

Private Function FileExists(fname) As Boolean

   Возвращает TRUE, если файл существует

    Dim x As String

    x = Dir(fname)

    If x <> «» Then FileExists = True _

        Else FileExists = False

End Function

Скачать заметку в формате Word или pdf, примеры в архиве (политика безопасности провайдера не позволяет загружать файлы Excel с поддержкой макросов)

Функция FileNameOnly

Функция получает один аргумент (путь и имя файла; не забывайте брать строку в кавычки) и возвращает только имя файла.

Private Function FileNameOnly(pname) As String

   Возвращает имя файла из строки путь/имя файла

    Dim temp As Variant

    temp = Split(pname, Application.PathSeparator)

    FileNameOnly = temp(UBound(temp))

End Function

Функция использует функцию VBA Split, которая принимает строку (вместе с символами-разделителями) и возвращает массив типа variant, содержащий элементы, которые находятся между символами-разделителями. В рассматриваемом случае переменной temp присваивается массив, содержащий текстовые строки между Application.PathSeparater (обычно в качестве разделителя используется обратная косая черта).

Если в качестве аргумента указать "с:excelfiles2010backupbudget.xlsx", функция возвратит строку budget.xlsx.

Функция FileNameOnly обрабатывает любой путь и имя файла (даже если файла не существует). Если файл существует, лучше воспользоваться следующей более простой функцией.

Private Function FileNameOnly2(pname) As String

FileNameOnly2 = Dir(pname)

End Function

Функция PathExists

Функция получает один аргумент (путь) и возвращает ИСТИНА, если путь существует.

Private Function PathExists(pname) As Boolean

   Возвращает TRUE, если путь существует

    If Dir(pname, vbDirectory) = «» Then

        PathExists = False

    Else

        PathExists = (GetAttr(pname) And vbDirectory) = vbDirectory

    End If

End Function

Функция RangeNameExists

Функция получает один аргумент (название диапазона) и возвращает ИСТИНА, если в активной рабочей книге существует указанное название диапазона.

Private Function RangeNameExists(nname) As Boolean

   Возвращает TRUE, если имя диапазона существует

    Dim n As Name

    RangeNameExists = False

    For Each n In ActiveWorkbook.Names

        If UCase(n.Name) = UCase(nname) Then

            RangeNameExists = True

            Exit Function

        End If

    Next n

End Function

Функция SheetExists

Функция получает один аргумент (название рабочего листа) и возвращает ИСТИНА, если данный рабочий лист существует в активной рабочей книге.

Private Function SheetExists(sname) As Boolean

   Возвращает TRUE, если лист существует в активной рабочей книге

    Dim x As Object

    On Error Resume Next

    Set x = ActiveWorkbook.Sheets(sname)

    If Err = 0 Then SheetExists = True _

        Else SheetExists = False

End Function

Функция WorkbooklsOpen

Функция получает один аргумент (название рабочей книги) и возвращает ИСТИНА, если данная рабочая книга открыта.

Private Function WorkbookIsOpen(wbname) As Boolean

   Возвращает TRUE, если рабочая книга открыта

    Dim x As Workbook

    On Error Resume Next

    Set x = Workbooks(wbname)

    If Err = 0 Then WorkbookIsOpen = True _

        Else WorkbookIsOpen = False

End Function

Проверка принадлежности к коллекции

Следующая функция представляет собой образец «групповой» функции, с помощью которой можно определить, является ли объект членом коллекции.

Private Function IsInCollection(Coin As Object, _

    Item As String) As Boolean

    Dim Obj As Object

    On Error Resume Next

    Set Obj = Coin(Item)

    IsInCollection = Not Obj Is Nothing

End Function

Эта функция имеет два аргумента: коллекцию (объект) и элемент (строка), который может быть либо не быть членом коллекции. Функция будет создавать объектную переменную, представляющую элемент коллекции. Если попытка увенчается успехом, функция возвратит True; иначе — False. Функцию IsInCollection можно использовать вместо трех других функций, приведенных выше. Чтобы определить, содержится ли в активной рабочей книге диапазон Data, вызовите функцию IsInCollection с помощью следующего оператора:

MsgBox IsInCollection(ActiveWorkbook.Names, "Data")

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

MsgBox IsInCollection(Workbooks, "budget.xlsx")

Чтобы узнать, содержит ли активная рабочая книга рабочий лист Лист1, используйте следующий оператор:

MsgBox IsInCollection(ActiveWorkbook.Worksheets, "Лист1")

Получение значения из закрытой рабочей книги

В VBA не существует метода получения значения из закрытого файла рабочей книги. Однако вы можете воспользоваться возможностью управления ссылками на файлы, которая предоставляется в Excel. В настоящем разделе описана функция VBA GetValue, которая получает значение из закрытой книги. Эта задача выполняется в результате вызова макроса XLM, который появился в «доисторических» версиях Excel (до версии 5), но поддерживается до сих пор (подробнее о макрофункциях xlm см. Функция Получить.Ячейку).

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

Private Function GetValue(path, file, sheet, ref)

‘   Выборка значения из закрытой книги

    Dim arg As String

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

    If Right(path, 1) <> «» Then path = path & ««

    If Dir(path & file) = «» Then

        GetValue = «Файл не найден»

        Exit Function

    End If

‘   Создание аргумента

    arg = «‘» & path & «[» & file & «]» & sheet & «‘!» & _

      Range(ref).Range(«A1»).Address(, , xlR1C1)

   Вызов макроса XLM

    GetValue = ExecuteExcel4Macro(arg)

End Function

Функция GetValue принимает четыре аргумента:

  • path — путь к закрытому файлу (например, "d:files");
  • file — название рабочей книги (например, "budget.xlsх");
  • sheet — название рабочего листа (например, "Лист1");
  • ref — ссылка на ячейку (например, "С4").

Следующая процедура демонстрирует, как используется функция GetValue. В этой процедуре отображается значение ячейки С1 листа Лист2 файла Закрытая_книга.xlsx, расположенного в текущей папке:

Sub TestGetValue()

    Dim p As String, f As String

    Dim s As String, a As String

    p = ThisWorkbook.path

    f = «Закрытая_книга.xlsx»

    s = «Лист2»

    a = «C1»

    MsgBox GetValue(p, f, s, a)

End Sub

Ниже приведен еще один пример. Эта процедура считывает 160 значений (20 строк и 8 столбцов) из закрытого файла и помещает эти значения на активный рабочий лист:

Sub TestGetValue2()

    Dim p As String, f As String

    Dim s As String, a As String

    Dim r As Long, c As Long

    p = ThisWorkbook.path

    f = «Закрытая_книга.xlsx»

    s = «Лист1»

    Application.ScreenUpdating = False

    For r = 1 To 20

        For c = 1 To 8

            a = Cells(r, c).Address

            Cells(r, c) = GetValue(p, f, s, a)

        Next c

    Next r

End Sub

Функция GetValue не работает, если ее использовать в формуле рабочего листа. Эту функцию вообще не следует использовать в листах Excel, поскольку для получения значения из закрытого файла можно просто создать формулу со ссылкой.

[1] По материалам книги Джон Уокенбах. Excel 2010. Профессиональное программирование на VBA. – М: Диалектика, 2013. – С. 358–362.

Вы можете использовать функцию Dir с параметром vbHidden

Visual Basic
1
2
3
4
5
6
Sub test1()
   Dim fileN As String
 
   fileN = "D:KWReestrIterPara.txt"
   If Dir(fileN, vbHidden) <> "" Then MsgBox fileN & " существует"
End Sub

Это ДОБАВИТ выдачу скрытых файлов к обычным. То есть, если у вас есть файл IterPara.txt и на нем дополнительных атрибутов не стоит, он будет выдан. Если он скрытый — тоже выдан. А если на нем стоит, например, атрибут «системный» и не стоит «скрытый» — не будет. Ну и в случае, если такого файла нет.

Если же надо выдать сообщение тогда и только тогда, когда файл имеет атрибут «скрытый», лучше воспользоваться FSO. Тут перебор файлов в каталоге, но можно и отдельный проверять.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub test2()
   Dim oFSO As Object, oFolder As Object, oFile As Object
 
   Set oFSO = CreateObject("Scripting.FileSystemObject")
   Set oFolder = oFSO.GetFolder("D:KWReestr")
 
   For Each oFile In oFolder.Files
     If oFile.Attributes And 2 Then
         MsgBox oFile.Path & " is Hidden"
     End If
   Next
End Sub

В этом руководстве вы изучите сценарий VBA, чтобы проверить, существует ли определенный файл в указанной папке, и если он существует, то удалите его из папки в Excel.


Проверьте, существует ли файл в папке, а затем удалите его в Excel с помощью кода VBA.

Следующий сценарий VBA помогает проверить, существует ли определенный файл в папке, и удалить его, если он существует. Пожалуйста, сделайте следующее.

1. В открытой книге Excel нажмите другой + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. в Microsoft Visual Basic для приложений окна, нажмите Вставить > Модули, затем скопируйте следующий скрипт VBA в папку Модуль (код) окно.

Код VBA: проверьте, существует ли файл в указанной папке, а затем удалите его.

Sub CheckFileThenDelete()
'Updated by Extendoffice 20221024
Dim FilePath As String
    FilePath = "C:UsersWin10x64TestDesktopsave attachmentsaaa.xlsx"
    
    If Dir(FilePath) <> "" Then
    MsgBox "The file exists in the folder, click the OK button to delete it.", vbInformation, "Kutools for Excel"
        Kill FilePath
    Else
    If Dir(FilePath) = "" Then
    MsgBox "The file does not exist.", vbInformation, "Kutools for Excel"
    End If
    End If
End Sub

Внимание: В коде VBA C:UsersWin10x64TestDesktopсохранить вложенияaaa.xlsx это путь к файлу, который вы хотите проверить, существует ли он. В этом примере я хочу проверить, является ли файл Excel с именем «ааа” существует в папке с именем “сохранить вложения» на рабочем столе. Вы можете изменить путь к файлу и расширение файла в соответствии с вашими потребностями.

3. нажмите F5 ключ для запуска кода.

4. Если файл существует, вы получите Kutools for Excel диалоговое окно, как показано на скриншоте ниже. Щелкните OK кнопку, чтобы удалить этот файл из папки.

Если файл не существует в папке, другой Kutools for Excel диалоговое окно также появится, чтобы предупредить вас.


Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Комментарии (0)


Оценок пока нет. Оцените первым!

Like this post? Please share to your friends:
  • Vba excel если файл не найден
  • Vba excel если файл есть то удалить
  • Vba excel если то иначе
  • Vba excel добавление кнопки
  • Vba excel добавить ячейки в диапазоне