Проверка, если файл слов уже открыт vba - PullRequest
0 голосов
/ 27 ноября 2018

Прежде чем открыть файл Word, я хочу проверить, открыт ли этот файл.(Одновременно открыто больше файлов слов) Основная подпрограмма вызывает эту функцию, чтобы сообщить мне, открыта она или нет.

Function FileInWdOpen(DokName As String) As Boolean                 

    Dim wd As Word.Application
    Dim wDoc As Word.Document

    On Error Resume Next                                            
    Set wd = GetObject(, "Word.Application")
    On Error GoTo NO_WORD_FOUND                                     

    If wd Is Nothing Then                                           
        FileInWdOpen = False
    End If

    For Each wDoc In wd.Documents        'should check for every open word file but doesn't do that                         
        If wDoc.Name = DokName Then      'checks if this file is named like the one I want to check if its open or not                           
            FileInWdOpen = True
            Exit Function                                           
        End If
    Next                                                            

    FileInWdOpen = False                                            

    Exit Function

NO_WORD_FOUND:       

    FileInWdOpen = False                                            

End Function

Этот код хорошо работает, когда открыт только один файл слов.Если два или более файлов открыты, скрипт не работает.

Проблема в том, что цикл for проверяет только первый открытый файл.

Я не понимаю, почему он не проверяет все открытые файлы.Я думал, что можно получить доступ ко всем документам с:

Dim WordApp As Word.Application                 'sets an var for the Word Application
Set WordApp = GetObject(, "Word.Application")   'give the var an obj, in this case the Word Application

Dim WordDoc As Word.Document                    'sets an var for the singel Word Documents
For Each WordDoc In WordApp.Documents           'for each Document in Dokuments
    'code
Next

Так почему только первый документ привлекает внимание?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...