Экспорт данных из Excel VBA в MS Project с заданной высотой строк - PullRequest
0 голосов
/ 30 октября 2018

У меня есть Excel, который генерирует расписание MS Project из книги Excel. Все работает хорошо, за исключением высоты строки в MS Project. Я автоматически подгоняю ширину ячеек с помощью команды ColumnBestFit , и она неплохо справляется со своей задачей, но затем MS Project по какой-то причине оборачивает мой текст в поле «Имя задачи». Я хотел бы настроить одинаковую высоту для всех строк в моем проекте. Как это возможно с дополнением к коду ниже?

Sub SaveProjectToTheSameFolder()
    Dim pjApp As Object
    Dim I As Integer ' Index used in For...Next loop.
    Dim r As Integer ' Index used in For...Next loop.
    Set pjApp = CreateObject("MSProject.Application")
    pjApp.Visible = True

    For I = 3 To 6
        pjApp.ColumnBestFit Column:=I
    Next I

    For r = 1 To 120
        RowHeight = 15
        pjApp.WrapText
    Next r

    pjApp.FileSaveAs ThisWorkbook.Path & "\" & Worksheets("MAIN").Range("D14").Value & ", " & Worksheets("MAIN").Range("D11").Value & "_" & "timeschedule" & "_" & ".mpp"
    pjApp.FileClose
    pjApp.Quit
End Sub

1 Ответ

0 голосов
/ 31 октября 2018

Изменение высоты строки определенных строк или всех строк с помощью метода SetRowHeight объекта приложения. Чтобы изменить высоту строк 1-120 на двойную высоту, выполните следующие действия: SetRowHeight 2, "1-120". Цикл не требуется и пропустите pjApp.WrapText, так как это отменит SetRowHeight и изменит высоту строки на автоматическую подгонку на основе активного столбца.

Примечание. Высота строки изначально определяется в настройке таблицы и устанавливается одинаковой для всех строк, если только для одного или нескольких столбцов не задан перенос текста, в этом случае высота строки будет автоматически подбираться. (См. Свойство TableRowHeight и свойство TableField.AutoWrap ).

...