Последнее "Не работает" к чему относится?...
Не печатает неактивный лист, нужно на него перейти и запустить макрос, лишь тогда сработает. Принтер по умолчанию нужный стоит.
Если в параметрах убрать отметку "Печать только выбранные листы" то печатается как целевой лист, так и активный, с которого макрос запускаю. Причем, эта отметка восстанавливает своё значение.
JohnSUN, Ваш макрос не срабатывает:
oDoc.Print(prnOptions)
Синтаксическая ошибка. Спецификации размерности не соответствуют друг другу.