Доброе утро,
У меня происходит довольно странная вещь с таблицей Excel, которую я создаю через .Net.
Я загружаю существующую книгу
Dim _xlApp As New Excel.Application
Dim _xlWorkbook As Excel.WokBook = _xlApp.Workbooks.Open(_templateFileName)
установить его видимым перед заполнением (для целей отладки)
_xlApp.Visible = True
Затем я продолжаю заполнять существующий шаблон.
Private Sub GenerateOceanFreightGrid()
Dim columnCount As Integer = 4 ' _standardColumnCount
Dim columnInsertPosition As Integer = 5
If MyBooleanValue() Then
_xlSheet.Columns(4).Insert()
_xlSheet.Cells(7, 4) = "My Header Value"
columnInsertPosition += 1
columnCount += 1
End If
Когда я устанавливаю точку останова в строке «Private Sub Gen ..» и шаг за шагом пересекаю код, он вставляет новый столбец для каждой объявленной переменной, поэтому в этом случае он вставит два столбца до попадает в строку «Если MyBooleanValue () ...» (я могу наблюдать, как это происходит на самом деле из-за видимого приложения Excel). Однако, если я не установил точку останова и просто позволил коду проходить прямо, этого не произойдет.
Нет многопоточности или что-то еще, что, как я подозреваю, повлияет на код.
Моя очевидная работа заключается в том, чтобы не устанавливать точку останова, мне просто интересно, видел ли кто-нибудь это раньше и по какой причине?
Спасибо