Я прошу прощения, если это ужасно легко, но у меня абсолютно нулевой опыт работы с VBA, и я как бы прыгаю через препятствия. Я выяснил, как импортировать файл из текста и конвертировать его по мере необходимости, используя функцию записи макроса.
Я сейчас пытаюсь зациклить этот процесс, основываясь на переменной имени файла.
Файл, который я собираюсь импортировать, будет использовать соглашение об именах AB1, AB2, AB3 и т. Д. Или что-то в равной степени произвольное: после импорта файла и его преобразования в код форматирования будет повторяться процесс на новой странице.
Я пробовал различные платформы кодирования со многих веб-сайтов, но уже никогда не смогу успешно интегрировать их в свой код.
Sub LoadFromFile()
Dim fileName As String, folder As String
folder = "FILEPATH
fileName = ActiveCell.Value
ActiveCell.Offset(1, 0).Range("A1").Select
With ActiveSheet.QueryTables _
.Add(Connection:="TEXT;" & folder & fileName,
Destination:=ActiveCell)
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 850
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = False
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = True
.TextFileSpaceDelimiter = False
.TextFileColumnDataTypes = Array(1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
End With
Cells.Select
With Selection.Font
.Name = "Lucida Console"
.Size = 8
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ThemeColor = xlThemeColorLight1
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.Orientation = xlLandscape
.LeftHeader = ""
.CenterHeader = ""
.RightHeader = ""
.LeftFooter = ""
.CenterFooter = ""
.RightFooter = ""
.LeftMargin = Application.InchesToPoints(0.25)
.RightMargin = Application.InchesToPoints(0.25)
.TopMargin = Application.InchesToPoints(0.75)
.BottomMargin = Application.InchesToPoints(0.75)
.HeaderMargin = Application.InchesToPoints(0.3)
.FooterMargin = Application.InchesToPoints(0.3)
End With
Application.PrintCommunication = True
End Sub