Я пытаюсь сделать снимок экрана определенной c части листа и экспортировать файл с определенным именем. Я понял, как правильно экспортировать файл, как мне хотелось бы, но у меня возникли проблемы с присвоением имени этому файлу. Имя файла находится в ячейке активной книги, поэтому я попытался использовать функцию LEFT, чтобы извлечь его из ячейки. Ниже мой код:
Sub Test()
'Dim tempSht As Worksheet'
'Dim jobNum As Range'
'Dim imgArea As Range'
'Dim buildID As String'
'Dim imgMap As String'
'Dim imgPDF As String'
Set tempSht = ThisWorkbook.Sheets("Template")
Set jobNum = tempSht.Range("$E$12")
Set imgArea = tempSht.Range("$A$11:$R$71")
buildID = Application.Evaluate( _
Left(jobNum, InStr(jobNum, ".") - 1))
'Setup print area
With tempSht.PageSetup
.LeftMargin = Application.InchesToPoints(0.2)
.RightMargin = Application.InchesToPoints(0.2)
.TopMargin = Application.InchesToPoints(0.2)
.BottomMargin = Application.InchesToPoints(0.2)
.HeaderMargin = Application.InchesToPoints(0.1)
.FooterMargin = Application.InchesToPoints(0.1)
.Orientation = xlLandscape
.FitToPagesWide = 1
.FitToPagesTall = 1
End With
tempSht.PageSetup.PrintArea = imgArea.Address
imgMap = "C:\Users\Example\Desktop\"
imgPDF = buildID & ".pdf"
tempSht.ExportAsFixedFormat Type:=xlTypePDF, FileName:=imgMap & imgPDF, openafterpublish:=False
Application.ScreenUpdating = True
End Sub
В коде нет сообщения об ошибке; но вывод неправильный. Например, в ячейке «jobNum» значение H2-500.pdf, но buildID будет читать -500 при экспорте. Есть идеи относительно того, что не так? Я предполагаю, что у функции InStr проблемы с da sh (но я могу ошибаться).