Имя книги VBA (получение, установка, без расширения)

В этом руководстве будет показано, как получить и установить имя книги в VBA.

Мы можем получить или установить имя активной книги в VBA или пройти через все открытые книги в Excel и получить или установить имя каждой из них с помощью цикла VBA.

Получить название книги

Чтобы получить имя активной книги, нам нужно использовать свойство name объекта workbooks.

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = ActiveWorkbook.NameMsgBox strWBNameКонец подписки

Если бы мы запустили приведенный выше код, мы бы увидели на экране окно сообщения с именем активной книги.

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

1234567 Sub GetWorkbookNames ()Dim wb As WorkbookДля каждого ББ в книгахActiveCell = wb.NameActiveCell.Offset (1, 0) .SelectСледующийКонец подписки

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

Получить имя книги без расширения

Мы можем использовать функции LEFT и INSTR для удаления любых символов после точки в имени файла:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Left (ActiveWorkbook.Name, InStr (ActiveWorkbook.Name, ".") - 1)MsgBox strWBNameКонец подписки

Мы можем использовать функции LEFT и LEN, чтобы удалить 5 символов из конца имени файла:

12345 Sub GetWorkbookName ()Dim strWBName As StringstrWBName = Left (ActiveWorkbook.Name, Len (ActiveWorkbook.Name) - 55)MsgBox strWBNameКонец подписки

Установка имени книги

Чтобы установить имя книги в VBA, мы по-прежнему используем свойство Name книги, однако мы не можем использовать этот метод для изменения имени активной книги. Это связано с тем, что активная книга открыта, и произойдет ошибка доступа к файлу. Чтобы преодолеть это, мы можем сохранить файл с новым именем, а затем удалить старый файл.

12345678910 Public Sub SetWorkbookName ()Dim strPath как строкаDim strNewName As StringDim strOldName как строкаstrOldName = ActiveWorkbook.NamestrNewName = InputBox («Введите новое имя книги»)strPath = ActiveWorkbook.PathActiveWorkbook.SaveAs strPath & "/" & strNewNameУбить strPath & "/" & strOldNameКонец подписки

Чтобы переименовать закрытую книгу, мы можем использовать метод Name.

123 Общедоступная подпрограмма RenameWorkbook ()Назовите "C: \ Data \ MyFile.xlsx" как "C: \ Data \ MyNewFile.xlsx"Конец подписки

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave