ActiveDocument.close закрывает все открытые документы - PullRequest
0 голосов
/ 06 ноября 2019

Мы только что перешли с Windows 7 на Windows 10 и с Office 2013 на Office 2016. В течение многих лет я без проблем запускал код VBA, который переносит информацию из одного открытого документа Word во вновь созданный документ Word (ежедневный журнал). После обновления строка в коде, которая закрывает старый документ «ActiveDocument.Close», теперь закрывает оба открытых документа (Word закрывается полностью). Хотя окно, которое я хочу закрыть, было выбрано в более раннем коде SaveAs2 (и оно всегда работало), я даже попытался добавить избыточную Windows (). Активировать строку, чтобы выдержать выбранное окно (это происходит при пошаговом выполнении кода). Я пробовал Documents () .Close (с SaveChanges и без него), но оба окна закрываются. Что мне здесь не хватает. Как отмечалось ранее, этот код работал безупречно на предыдущих итерациях. Я пытался добавить код, но этот интерфейс на моем телефоне не принимает мое форматирование. Полный код, вероятно, на самом деле не нужен, так как у меня возникают проблемы только с закрытием там, где раньше работал код.

Sub saveAsMacro()
'
' Save new file as the current date
' This is the fourth macro called by the Command Button macro
'
'
Dim fileDate, savedAsName, preDay, saveYesterday, docFolder, deleteFile
docFolder = "G:\Everyone\Waste Water Treatment\Daily Log\dwlog"
fileDate = Format(Now(), "yymmdd")
preDay = Format(Now() - 1, "yymmdd")
savedAsName = docFolder & fileDate & ".docm"
saveYesterday = docFolder & preDay & ".docx"

    ChangeFileOpenDirectory "G:\Everyone\Waste Water Treatment\Daily Log\"
    ActiveDocument.SaveAs2 FileName:= _
        savedAsName, _
        FileFormat:=wdFormatXMLDocumentMacroEnabled, LockComments:=False, Password:="", _
        AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
        :=False, SaveAsAOCELetter:=False, CompatibilityMode:=14

    Documents("dwlog" & preDay & ".docm").Activate

    ChangeFileOpenDirectory "G:\Everyone\Waste Water Treatment\Daily Log\"
    ActiveDocument.SaveAs2 FileName:= _
        saveYesterday, _
        FileFormat:=wdFormatXMLDocument, LockComments:=False, Password:="", _
        AddToRecentFiles:=True, WritePassword:="", ReadOnlyRecommended:=False, _
        EmbedTrueTypeFonts:=False, SaveNativePictureFormat:=False, SaveFormsData _
        :=False, SaveAsAOCELetter:=False, CompatibilityMode:=14

    Call SendEmail
    ActiveDocument.PrintOut
    ActiveDocument.Close (SaveChanges = wdSaveChanges)
'    Windows("dwlog" & preDay & ".docx  -  Compatibility Mode").Activate '
'    Documents("dwlog" & preDay & ".docx").Close (SaveChanges = wdSaveChanges)

    Windows("dwlog" & fileDate & ".docm  -  Compatibility Mode").Activate '

End Sub
...