Excel игнорирует настройку IndentLevel с vb.net - PullRequest
0 голосов
/ 04 октября 2019

У меня есть приложение 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...