Не могу понять, почему я получаю ошибку времени выполнения 9: ошибка индекса вне диапазона - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть код, который запускается во время события Workbook_BeforeSave, которое предназначено для сохранения части электронной таблицы во внешний текстовый файл, который используется для синхронизации данных между несколькими рабочими книгами.

Код такой следующим образом:

Sub SaveSyncFile()

    Dim syncfilename As String, lineText As String
    Dim myrng As Range, i, j

    syncfilename = "\\fs01\G_Share\a account information\Account Functions & Tools\Menus\Account Recipes\" & Worksheets("DevTools").Range("D2").Value & " recipes.txt"

    Open syncfilename For Output As #1

    Set myrng = Range("AcctRec")

    For i = 1 To myrng.Rows.Count
        For j = 1 To myrng.Columns.Count
            lineText = IIf(j = 1, "", lineText & ",") & myrng.Cells(i, j)
        Next j
        Print #1, lineText
    Next i

    Close #1

End Sub

Когда файл закрывается иногда , в этой строке возникает ошибка: syncfilename = "\\fs01\G_Share\a account information\Account Functions & Tools\Menus\Account Recipes\" & Worksheets("DevTools").Range("D2").Value & " recipes.txt"

Итак, при отладке я могу получить результаты ?"\\fs01\G_Share\a account information\Account Functions & Tools\Menus\Account Recipes\" & Worksheets("DevTools").Range("D2").Value & " recipes.txt" в ближайшем окне, но если я пытаюсь получить ?syncfilename, он не показывает значения ...

Итак, похоже, что-то в присвоении значения переменной есть?

Кроме того, больше информации ... этот Sub, кажется, работает без ошибок, если просто запустить Sub непосредственно ... но когда sub вызывается из события Workbook_BeforeSave, иногда возникает ошибка.

Есть идеи, как решить?

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