У меня есть приложение VB.NET, которое контролирует Excel. Независимо от того, как я пытаюсь установить IndentLevel
ячейки, она не прилипает. Несмотря на то, что последующие вызовы для получения IndentLevel
показывают, что он действительно залипает, когда управление передается обратно пользователю, ячейка не показывает видимый отступ и щелчок правой кнопкой мыши -> Форматировать ячейки, выравнивание не показывает новое значение.
Я пытался установить IndentLevel = newValue
, цикл на AddIndent()
, цикл на InsertIndent
и установить InsertIndent(newValue)
.
Dim currCell As Excel.Range = activeWorksheet.Range("B2")
Dim newIndent As Integer
Do While currCell.Row <= activeWorksheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row
newIndent = currCell.Offset(0, 1).Value
If newIndent > 0 Then
currCell.IndentLevel = newIndent
End If
currCell = currCell.Offset(1, 0)
Loop
Что сводит с ума то, что эквивалент VBA работает простоштраф:
Sub test()
Dim currCell As Excel.Range
Set currCell = ActiveSheet.Range("B2")
Dim newIndent As Integer
Do While currCell.Row <= ActiveSheet.Cells.SpecialCells(Excel.XlCellType.xlCellTypeLastCell).Row
newIndent = currCell.Offset(0, 1).Value
If newIndent > 0 Then
currCell.IndentLevel = newIndent
End If
Set currCell = currCell.Offset(1, 0)
Loop
End Sub