以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  请教:如何在Excel报表中设定自动行高,类似于VBA中的EntireRow.AutoFit?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=60489)

--  作者:jerzhh
--  发布时间:2014/11/25 19:49:00
--  请教:如何在Excel报表中设定自动行高,类似于VBA中的EntireRow.AutoFit?

假设:

 

Dim Book As New XLS.Book("c:\\reports\\test.xls")

Dim Sheet As XLS.Sheet = Book.Sheets(0)

Sheet(0,0).Style.WordWrap = True

Sheet(0,0).Value = "我是一个很长很长很长很长很长很长的句子"

Book.Save("c:\\reports\\test.xls")

 

我应该如何设定代码,以使得Sheet(0,0)能自动扩充单元格的高度来适应长句子?

 

就像VBA中的EntireRow.AutoFit指令所起的作用一样?


--  作者:有点甜
--  发布时间:2014/11/25 19:58:00
--  

 做不到。

 

 必须用vba做。

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\\Report.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg As MSExcel.Range = Ws.Cells
Rg.EntireColumn.AutoFit   \'自动调整列宽
Rg.EntireRow.AutoFit  \'自动调整行高
App.Visible = True


--  作者:jerzhh
--  发布时间:2014/11/25 20:03:00
--  

那么在VBA中有没有类似于

 

Sheet(0,0).Style.WordWrap = True

 

的指令?


--  作者:有点甜
--  发布时间:2014/11/25 20:04:00
--  

 

[此贴子已经被作者于2014-11-25 20:05:42编辑过]

--  作者:有点甜
--  发布时间:2014/11/25 20:06:00
--  
ws.Cells(1,1).WrapText = True