我有Excel,它从Excel工作簿中生成MS Project时间表。除了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
使用应用程序对象的SetRowHeight方法更改特定行或所有行的行高。要将行1-120的高度更改为双倍高度,请执行以下操作:SetRowHeight 2, "1-120"
。不需要循环并跳过pjApp.WrapText
,因为这将撤消SetRowHeight
并将行高更改为基于活动列的自动调整。
注意:行高最初在"表格"设置中定义,除非将一列或多列设置为换行,否则所有行的行高都设置为相同,在这种情况下,行高将自动调整。(请参见TableRowHeight属性和TableField.AutoWrap属性(。