Я пытаюсь получить имя листа из имени файла, используя код ниже, но я получаю:
Ошибка индекса вне диапазона
Причина Я делаю это потому, что каждый раз, когда мы загружаем и сохраняем этот файл, мы будем переименовывать файл, и то же имя будет применяться и к имени листа. Я знаю, что имя листа также имеет ограничение по количеству символов, вы можете помочь мне исправить это тоже? Заранее спасибо.
Sub Sheet_Name_TEST()
Dim SourceWB As Workbook
Dim SelectFile As Variant
Dim SourceName As String
SelectFile = Application.GetOpenFilename(FileFilter:="Excel Files (*.XLSX; *.UTX),*.XLSX; *.UTX", Title:="Select File")
If SelectFile = False Then Exit Sub
Set SourceWB = Workbooks.Open(SelectFile)
SourceName = SourceWB.Name
If InStr(SourceName, ".") > 0 Then
SourceName = Left(SourceName, InStr(SourceName, ".") - 1)
Debug.Print SourceName
End If
Set sourceWS = SourceWB.Sheets("SourceName")
End Sub