原理:在另外一个sheet里面利用单元格换行和自适应高度的特性,将一个 试验单元格宽度设置成 实际跨列单元格的宽度,然后将需要输入的字符放入该 试验单元格,取得高度返回给 实际跨列单元格就可以了.
以下是vb的代码
PrivateSubCommand1_Click()
DimobjExcelAsNewExcel.Application
DimwkSheetAsExcel.Worksheet
objExcel.Workbooks.Open"E:\book1.xls"
SetwkSheet=Worksheets("Sheet1")
wkSheet.Select
DimiWidthAsDouble
iWidth=wkSheet.Columns("A:A").ColumnWidth+wkSheet.Columns("B:B").ColumnWidth
SetwkSheet=Worksheets("Sheet2")
wkSheet.Select
wkSheet.Columns("A:A").ColumnWidth=iWidth
Range("A1").Select
WithSelection
.HorizontalAlignment=xlGeneral
.VerticalAlignment=xlCenter
.WrapText=True
.Orientation=0
.AddIndent=False
.IndentLevel=0
.ShrinkToFit=False
.ReadingOrder=xlContext
.MergeCells=False
EndWith
ActiveCell.Value="dsfsdafsdafasfsdafsadfdsafsdafa"
DimiHeightAsDouble
iHeight=ActiveCell.RowHeight
SetwkSheet=Worksheets("Sheet1")
wkSheet.Select
Range("A1:B1").Select
WithSelection
.HorizontalAlignment=xlGeneral
.VerticalAlignment=xlCenter
.WrapText=True
.Orientation=0
.AddIndent=False
.IndentLevel=0
.ShrinkToFit=False
.ReadingOrder=xlContext
.MergeCells=True
EndWith
Rows("1:1").Select
Selection.RowHeight=iHeight
Range("A1:B1").Select
ActiveCell.Value="dsfsdafsdafasfsdafsadfdsafsdafa"
objExcel.ActiveWorkbook.SaveAs"e:\book2.xls"
objExcel.AlertBeforeOverwriting=False
objExcel.Quit
EndSub