Мой код не перестает работать и заставляет меня принудительно выйти из файла Excel? - PullRequest
0 голосов
/ 17 октября 2019

Я изменил фрагмент кода, который я нашел в одном из ответов здесь, но когда я запускаю свой измененный код, он работает как желаемый / ожидаемый. После печати значения он продолжает работать и вынуждает меня использовать задачу управления для выхода из программы.

Я адаптировал cpde, который поместил @JeffB, и он прекрасно работает, находит нужную ячейку и печатает ее.

Однако после этого он продолжает работать и не останавливается. К моменту, когда я должен использовать диспетчер задач, чтобы уйти, есть идеи?

Я включил измененный код ниже

Microsoft ждет, пока другое приложение завершит действие OLE ", - это ошибка, которая появляется и действует так, как будто она находится в цикле, как каждый раз, когда я закрываю msgboxснова появляется.

Я просто запускаю макрос, нажимая кнопку воспроизведения, когда на экране модуля.

Public Sub version_control()
    Dim serverFileName As String 'obtain url for sharepoint filename, insert below
    Dim valuesAreDifferent As Boolean 'so we can do housekeeping below
    Dim x As New Excel.Application 'make a new session for the sharepoint version
    Dim w As Workbook 'grab-handle for the sharepoint file
    Sheets("VC").Calculate
    valuesAreDifferent = False 'implicit, being explicit
    serverFileName = "http://whatever-domain.com/MySharepointWorkbook.xlsx"
    x.Visible = False 'so it doesn't flash up when checking
    Set w = x.Workbooks.Open(serverFileName) 'open the sharepoint version
    If Sheets("VC").Range("A1").Value <> w.Sheets("VC").Range("A1").Value Then _
        valuesAreDifferent = True
    'housekeeping in case we don't quit
    w.Close
    x.Quit
    Set w = Nothing
    Set x = Nothing
    If valuesAreDifferent Then
        MsgBox "Please download the latest version from the Sharepoint"
        Application.Quit
    End If
End Sub
```



1 Ответ

0 голосов
/ 18 октября 2019

После нескольких часов поиска, я думаю, я достиг ответа.

Когда файл закрыт, я предполагаю, что он обнаруживает то, что вы хотите сохранить и т. Д. Поэтому добавление этого кода, кажется, позволяет ему работать как нужно.

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