Как передать значение ячейки в строку перед экспортом? - PullRequest
0 голосов
/ 26 мая 2020

Я пытаюсь сделать снимок экрана определенной 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 (но я могу ошибаться).

1 Ответ

1 голос
/ 26 мая 2020

Удалите Application.Evaluate из следующей строки:

buildID = Application.Evaluate( _
Left(jobNum, InStr(jobNum, ".") - 1))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...