Несоответствие типа VBA при определении имени книги

#excel #vba #syntax-error

#excel #vba #синтаксическая ошибка

Вопрос:

У меня есть следующий код, который сначала определяет путь к файлу, а затем в конечном итоге откроет книгу и распечатает определенный лист в формате PDF.

Однако я получаю ошибку несоответствия типа при попытке установить переменную книги «wb». Он выделяет amp; и не запускается.

Я неправильно задаю переменную?

 Dim wb As Workbook, ws As Worksheet
Dim FILE_PATH As String
Dim FILE_NAME As String
Dim loc As Worksheet


FILE_PATH = "UsersauserDocumentsTest"
FILE_NAME = "Email_Print_Test"
Set wb = "C:" amp; FILE_PATH amp; "" amp; FILE_NAME amp; ".xlsb"
Set ws = wb.Worksheets("New_Sheet")

loc = wb.ws
 

Ответ №1:

Вы пытаетесь присвоить a String Workbook объекту.

Что вам нужно, так это использовать Workbooks.Open для открытия книги. Этот метод возвращает Workbook объект.

 Sub demo()
    Dim wb As Workbook, ws As Worksheet
    Dim FILE_PATH As String
    Dim FILE_NAME As String
    Dim loc As Worksheet
    
    
    FILE_PATH = "UsersauserDocumentsTest"
    FILE_NAME = "Email_Print_Test"

    ' Use method here
    Set wb = Workbooks.Open("C:" amp; FILE_PATH amp; "" amp; FILE_NAME amp; ".xlsb")
    Set ws = wb.Worksheets("New_Sheet")
    
    loc = wb.ws
End Sub
 

Комментарии:

1. Большое спасибо