Ошибка 424 только тогда файл открывается во время процедуры - PullRequest
0 голосов
/ 05 февраля 2020

Я установил Excel для перемещения некоторой информации в документ MS Word, созданный из шаблона с использованием ContentControls.

После последнего обновления для моего Excel остались некоторые другие части кода (ничего не изменилось при подключении к коду с обнаруженной ошибкой) ), Я начал получать ошибку "424 error: Object required" при выполнении моей процедуры перемещения информации в Word. Я запутался, потому что этот код работал раньше без ошибок и все еще работает, тогда у меня открыт файл Word. Пожалуйста, помогите мне определить, что с ним не так и почему внезапная ошибка, несмотря на то, что ничего не изменилось?

Вот соответствующая часть кода:

            'this parts checks if my Word document is already opened
            On Error Resume Next
            Set objWord = GetObject(, "Word.Application")
            On Error GoTo 0

             'if document is closed - opens it (file existence was checked earlier and works as intended)
            If objWord Is Nothing Then
                'opens file
                Set objWord = CreateObject("Word.Application")
                Set objDoc = objWord.Documents.Open(sPath & NewFileName)
                objWord.Visible = True
            Else 'if Word documents open, checks if it is the right one, if not, opens right one (On error routine) - works as intended
                On Error GoTo WrongFile
                Set objDoc = objWord.Documents(NewFileName)
                On Error Resume Next
            End If

    'this part of the code works then document already open, and fails then it is closed
    'I need to count ContentControls for later use and neatly data moving procedure
    Set ccRepSec = objDoc.SelectContentControlsByTitle("Nauja registracija").Item(1)
    Set existingCC = Word.ContentControl `this line fails with 424 error then document is closed
    For Each existingCC In ccRepSec.Range.ContentControls
        If existingCC.Tag = "VP_pav" Then 'skaiciuoja pagal VP pavadinimo laukeliu kieki
            Counter = Counter + 1
        End If
    Next existingCC
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...