从Excel VBA数据导出到MS Project集合行高度

从Excel VBA数据导出到MS Project集合行高度,excel,vba,ms-project,Excel,Vba,Ms Project,我有从Excel工作簿生成MS Project时间表的Excel。在MS项目中,除了行高之外,其他一切都很好。我使用ColumnBestFit命令自动调整单元格宽度,它做得很好,但由于某种原因,MS Project将我的文本包装在“任务名称”字段中。我想为我的项目中的所有行调整相同的高度。除了下面的代码之外,它是如何实现的 Sub SaveProjectToTheSameFolder() Dim pjApp As Object Dim I As Integer ' Index u

我有从Excel工作簿生成MS Project时间表的Excel。在MS项目中,除了行高之外,其他一切都很好。我使用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-120的高度更改为双倍高度,请执行以下操作:
SetRowHeight 2,“1-120”
。无需循环并跳过
pjApp.WrapText
,因为这将撤消
SetRowHeight
,并根据活动列将行高更改为自动调整

注意:行高最初是在表格设置中定义的,并且对于所有行都设置为相同,除非将一个或多个列设置为换行文本,在这种情况下,行高将自动调整。(见财产和财产)