Отладка прыжковых строк после файла диалогового кода - PullRequest
0 голосов
/ 01 марта 2020

Это известная ошибка, или что-то конкретное c для меня (я использую Excel 365).

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

В приведенном ниже примере кода с одним шагом, он получает Затем 'fd.show', как только я выбрал папку / отменил и нажал ok, он просто запускает код.

Option Explicit

Public Sub Test()
    Dim fd As FileDialog
    Dim sFile As String
    Dim n As Integer

    n = 0
    sFile = "Work_" & Replace(Date, "/", "") & Replace(Time, ":", "") & ".csv"

    Set fd = Application.FileDialog(msoFileDialogFolderPicker)

    '*********** SINGLE STEP AFTER SHOW RUNS TO END *******************      
    If fd.Show = -1 Then
        Dim sDir As String
        sDir = fd.SelectedItems.Item(1)

        If Dir(sFile) = "" Then
            n = 1
        Else
            n = 2
        End If

    End If

    MsgBox CStr(n)
End Sub

1 Ответ

1 голос
/ 01 марта 2020

Решение для F8 Key Stops Работа при отладке была описана для контекстов , подробно здесь

По сути, вы должны добавить новый ключ - DWORD с именем DisableOrpcDebugging7 - для реестра и измените его значение на 1 .

  • Для 32-разрядного Office в 64-разрядном окне go для ключа реестра: HKLM \ SOFTWARE \ Wow6432Node \ Microsoft \ VBA
  • Для 32-разрядный Office в 32-разрядном окне go для раздела реестра: HKLM \ SOFTWARE \ Microsoft \ VBA
  • Для 64-разрядного Office в 64-разрядном Windows go в раздел реестра: HKLM \ SOFTWARE \ Microsoft \ VBA
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...