У меня есть код, который запускается во время события 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, иногда возникает ошибка.
Есть идеи, как решить?