2015-06-05 2 views
2

Я пытаюсь создать макрос в VBA, который будет форматировать лист Excel через Access VBA. Я столкнулся с некоторыми неожиданностями в Access, которые не распознали некоторые команды Excel VBA, такие как .Select, .Interior.Color и .ActiveWindow.Zoom. Я обошел первые две проблемы, но может ли кто-нибудь помочь мне с настройкой активного увеличения на 90%?Как установить ActiveWindow.Zoom в Excel через доступ к VBA?

Sub ExcelMacro() 

Dim xlApp As Object 
Dim xlWB As Object 

filepath = "\\dom1...xlsm" 

Set xlApp = CreateObject("Excel.Application") 

xlApp.Workbooks.Open filepath 

xlApp.Visible = True 

xlApp.Application.DisplayAlerts = True 

Set xlWB = xlApp.ActiveWorkbook 

xlWB.Sheets(1).ActiveWindow.Zoom = 90 

    With xlWB.Sheets(1).Cells 
     .Font.Name = "Calibri" 
     .EntireColumn.Autofit 
    End With 

    With xlWB.Sheets(1).range("A1").Entirerow 
     .Interior.ColorIndex = 15 
     .Font.Bold = True 
    End With 

'xlApp.Application.DisplayAlerts = True 
Set xlApp = Nothing 
Set xlWB = Nothing 

End Sub 

ответ

2

ActiveWindow - свойство объекта приложения Excel.

Ваш код пытается использовать его из объекта рабочего листа ...

xlWB.Sheets(1).ActiveWindow.Zoom = 90 

Когда я тестировал подобный код с моим собственным объектом рабочего листа, Access бросил ошибку # 438, «Объект не поддерживает это свойство или способ ».

Вы не должны получить эту ошибку, если вы начинаете с переменным объектом приложения ...

xlApp.ActiveWindow.Zoom = 90 
+0

, что сделал это. благодаря! – BarryMahnly

Смежные вопросы