Я использую Word 2003.
У меня есть документ Word, из которого я запускаю макрос, который открывает другие документы Word и выполняет на них задачи перед их сохранением и закрытием.
Из-за количества изменений я продолжаю нажимать подсказку «Word has insufficent memory. You will not be able to undo this action once it is completed. Do you want to continue?
».
Я погуглил эту ошибку и не нашел ничего, кроме следующего, что, похоже, не работает с этим:
Application.DisplayAlerts = False
Application.DisplayAlerts = wdAlertsNone
Я думаю, это может быть потому, что код применяется к документу, запускающему макрос, а не к документу, который обрабатывает макрос.
Приведенный ниже код - это урезанная версия кода, который я использую. Все, что я удалил, - это некоторые функции регистрации.
Function open_word_file(file_name)
Call wd_backup_current_file_first(file_name) ' backup the current file - so that if damage is done, it can be undone.
Documents.Open FileName:=file_name, ConfirmConversions:=False, ReadOnly:=False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", Format:=wdOpenFormatAuto, XMLTransform:=""
Application.DisplayAlerts = False
'Application.DisplayAlerts = wdAlertsNone
'<do_work>
Call do_something_with_the_opened_file
'</do_work>
ActiveDocument.Save ' save the changes
ActiveDocument.Close
End Function