以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- EXCEL这样引用整行,为什么会出错? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=184430) |
-- 作者:9EQ98 -- 发布时间:2022/12/7 2:33:00 -- EXCEL这样引用整行,为什么会出错? 请问:这样引用整行,为什么会出错? Dim Book As New XLS.Book(ProjectPath & "Attachments\\数据表.xls") Dim Sheet As XLS.Sheet = Book.Sheets(0) \'引用工作簿的第一个工作表 Dim fl As String = ProjectPath & "Reports\\数据表.xls" Book.Build() \'生成细节区 Book.Save(fl) \'保存工作簿 Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.UsedRange \' 已使用范围 rg.Formula = rg.Formula Rg.WrapText = True \'Rg.EntireColumn.AutoFit \'自动调整列宽 Rg.EntireRow.AutoFit \'自动调整行高 \'\'MessageBox.Show(RG.Rows.Count) For I As Integer = 1 To RG.Rows.Count Dim 行号 As String = """" & I & """" RG = Ws.Rows(行号) \' 这样引用整行,为什么会出错? RG = WS.Rows(I) \' 这样引用整行,为什么会出错? \'\'Rg.RowHeight = Rg.RowHeight + 12 \' 在原有行高的基础上加上12 Next Ws.PageSetup.PrintTitleRows = Ws.Rows("$1:$2").Address Wb.Save App.QUIT
|
-- 作者:9EQ98 -- 发布时间:2022/12/7 2:39:00 -- 解决了,得重新另外定义一个RG For I As Integer = 1 To RG.Rows.Count Dim Rg1 As MSExcel.Range = Ws.Range("A1") \' \' Dim 行号 As String = """" & I & """" RG1 = Ws.Rows(I) Rg1.RowHeight = Rg1.RowHeight + 12 Next 这样就实现了,自动行高之后,再加高8至10的行高,避免行与行之间太紧了 |