Когда мой код запускается и достигает строки application.calculation = xlcalculationmanual
, возникает ошибка компиляции, говорящая о том, что метод или элемент данных не найден
У меня есть макрос vba, который просматривает лист значений excel и извлекает эти данные для заполнения полей слияния почты в документе Word.
Макрос выполняется по нажатию командной кнопки. Мне нужна была помощь, чтобы ускорить код, который выполняется более 15 секунд.
Я добавил несколько строк, чтобы ускорить код (см. ниже), но когда он достигает application.calculation = xlcalculationmanual
, возникает ошибка компиляции: метод или элемент данных не найден
Я посмотрел это, и кто-то упомянул об использовании раннего связывания. Поэтому я перешел к справочникам по инструментам и поставил галочку напротив библиотеки MS Excel 16.0. Проблема с calculationmanual
осталась.
Как ни странно, запуск кода вручную, а не через командную кнопку, происходит намного быстрее. Есть ли альтернативный метод ускорения моего кода слияния без руководства по расчету или это проблема с командными кнопками?
Private Sub CommandButton1_Click()
'speed up of code
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Activesheet.DisplayPageBreaks = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
'end of speed up of code
Dim numRecord As Integer
Dim myDCR As String
myDCR = InputBox("Enter DCR:")
Set dsMain = ActiveDocument.MailMerge.DataSource
With ActiveDocument.MailMerge
.DataSource.ActiveRecord = wdFirstRecord
End With
If dsMain.FindRecord(FindText:=myDCR, Field:="DCR") = True Then
numRecord = dsMain.ActiveRecord
End If
Application.ScreenUpdating = True
Application.DisplayStatusBar = True
Activesheet.DisplayPageBreaks = True
Application.Calculation = xlCalculationAutomatic
Application.EnableEvents = True
End Sub
Я ожидаю, что код запустится и извлечет данные из Excel и заполнит слово doc менее чем за 3 секунды.
Option Explicit
вверху модуля и, пожалуйста, ответьте на мой первый вопрос. - person Ron Rosenfeld   schedule 23.04.2019SKIPIF
в Word. - person Ron Rosenfeld   schedule 23.04.2019