ActivePrinter
возвращает строку с именем принтера, а не объекта. Поэтому объявите previousPrinter
как строку и просто присвойте ей результат ActivePrinter
.
Dim previousPrinter as String
Dim objWord As New Word.Application
previousPrinter = objWord.ActivePrinter
objWord.ActivePrinter = "Followprint"
(...)
В VBA ключевое слово Set
используется только для присвоения объекта переменной (например, результат функции Documents.Open
). Если вы используете его при попытке назначить что-либо, что не является объектом, компилятор (или среда выполнения) выдаст сообщение об ошибке Object required
.