Foxtable(狐表)用户栏目专家坐堂 → EXCEL这样引用整行,为什么会出错?


  共有3268人关注过本帖树形打印复制链接

主题:EXCEL这样引用整行,为什么会出错?

帅哥哟,离线,有人找我吗?
9EQ98
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:4290 威望:0 精华:0 注册:2014/1/16 16:55:00
EXCEL这样引用整行,为什么会出错?  发帖心情 Post By:2022/12/7 2:33:00 [只看该作者]

请问:这样引用整行,为什么会出错?

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
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:一尾狐 帖子:470 积分:4290 威望:0 精华:0 注册:2014/1/16 16:55:00
  发帖心情 Post By: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的行高,避免行与行之间太紧了

 回到顶部