Excel: как получить имя файла книги разными методами

При работе с Excel может быть полезно получить имя файла книги программным способом. Независимо от того, используете ли вы VBA или Python, для выполнения этой задачи доступны различные методы. В этой статье мы рассмотрим различные подходы и предоставим примеры кода, которые помогут вам получить имя файла книги Excel.

Метод 1: макрос VBA
Если вы работаете в Excel и хотите использовать VBA, вы можете использовать следующий фрагмент кода:

Sub GetFileName()
    Dim filePath As String
    Dim fileName As String
    filePath = ThisWorkbook.FullName
    fileName = Mid(filePath, InStrRev(filePath, "\") + 1)
    MsgBox "Filename: " & fileName
End Sub

Этот макрос VBA получает полный путь к файлу с помощью свойства ThisWorkbook.FullName, а затем извлекает имя файла с помощью функций Midи InStrRev.

Метод 2: функция VBA
Если вы предпочитаете использовать функцию вместо макроса, вы можете использовать следующий код VBA:

Function GetFileName() As String
    Dim filePath As String
    Dim fileName As String
    filePath = ThisWorkbook.FullName
    fileName = Mid(filePath, InStrRev(filePath, "\") + 1)
    GetFileName = fileName
End Function

Вы можете вызвать эту функцию из ячейки Excel, например =GetFileName(), чтобы получить имя файла.

Метод 3: Python с Openpyxl
Если вы работаете с Python и библиотекой Openpyxl, вы можете использовать следующий фрагмент кода:

from openpyxl import load_workbook
def get_filename(file_path):
    workbook = load_workbook(file_path)
    return workbook.title
# Usage example
filename = get_filename('path/to/workbook.xlsx')
print("Filename:", filename)

В этом примере мы загружаем книгу, используя load_workbook, а затем получаем имя файла, используя атрибут titleобъекта книги.

Метод 4: Python с Pandas
Если вы используете библиотеку Pandas, вы можете извлечь имя файла, используя следующий код:

import pandas as pd
def get_filename(file_path):
    df = pd.read_excel(file_path)
    return df.columns[0]
# Usage example
filename = get_filename('path/to/workbook.xlsx')
print("Filename:", filename)

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

Получить имя файла книги Excel можно различными методами как в VBA, так и в Python. Независимо от того, предпочитаете ли вы использовать макросы, функции или библиотеки, такие как Openpyxl и Pandas, теперь у вас есть несколько вариантов программного извлечения имени файла. Выберите метод, который соответствует вашим потребностям и предпочтениям в кодировании, и улучшите свои рабочие процессы автоматизации Excel или анализа данных.