Foxtable(狐表)用户栏目专家坐堂 → DefaultColumnWidth的用法


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

主题:DefaultColumnWidth的用法

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


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
DefaultColumnWidth的用法  发帖心情 Post By:2016/5/17 6:35:00 [只看该作者]

1、DefaultColumnWidth 用于设计或返回列宽

2、例如:Sheet.DefaultColumnWidth = 75 '设置默认列宽

 

 

请问:如果要分别指定第1列宽为75,第2列宽为60,。。。。。。。

 

同样:行高又如何指定,因为生成的表的行数开始不确定

 

敬请老师指教!!

 


 回到顶部
帅哥哟,离线,有人找我吗?
Hyphen
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐神 帖子:5015 积分:25363 威望:0 精华:0 注册:2015/8/18 9:21:00
  发帖心情 Post By:2016/5/17 8:33:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/5/17 11:02:00 [只看该作者]

谢谢你!

 

就是啊,我要用 SetColVisibleWidth 设置电子表格的各个列的列宽,说明书上介绍的统一列宽是多少,但实际上不是每一列的列宽都相同的啊?

 

请问,怎么办呢?

 

如何获得一个电子表的某一列的列宽,如何设置一个电子表的某一列的列宽?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 11:04:00 [只看该作者]

设置列宽

 

Tables("表A").grid.cols("第一列").width = 200

 

得到列宽

 

Dim n = Tables("表A").grid.cols("第三列").width
If n = -1 Then n = 98
msgbox(n)


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/5/17 11:06:00 [只看该作者]

大红袍老师,我要的是EXCEL电子表的列宽的获得和设置

 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 11:12:00 [只看该作者]

Dim Book As New XLS.Book("d:\test.xls") '定义一个Excel工作簿
Dim Sheet As XLS.Sheet = Book.Sheets(0) '引用工作簿的第一个工作表

msgbox(sheet.rows(0).height)
msgbox(sheet.cols(0).width)


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/5/17 11:38:00 [只看该作者]

哦,谢谢,感谢大红袍老师,我来试试。

 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/5/17 16:04:00 [只看该作者]

Dim 总表 As New XLS.Book( 待读文件.text )
Dim Sheet01 As XLS.Sheet = 总表.Sheets(0)
For i As Integer = 1 To 26                                

    e.form.Controls( "列名" & i ).Text = sheet01(val(列名行.text) - 1 , i-1 ).Text  

    e.form.Controls( "列宽" & i ).Text = sheet01.cols( i ).width                   

    MessageBox.Show( i & "列宽:" &  sheet01.cols( i ).width   )

next

 

请教 大红袍老师,我这里26次,每列获得的列宽都是0


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/5/17 16:17:00 [只看该作者]

用vba来做比较好

 

Dim App As New MSExcel.Application
try
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test.xls")
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
    Dim Rg As MSExcel.Range = Ws.UsedRange
    For i As Integer = 1 To rg.Columns.count
        msgbox(rg.Columns(i).width)
    Next
catch ex As exception
    msgbox(ex.message)
    app.quit
End try


 回到顶部
帅哥哟,离线,有人找我吗?
zhangchi96
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:二尾狐 帖子:555 积分:5037 威望:0 精华:0 注册:2012/2/11 13:27:00
  发帖心情 Post By:2016/5/19 20:11:00 [只看该作者]

谢谢大红袍老师!效果很好的。

 

这里Wb.WorkSheets(1)中的1,似乎相当于 原来代码 Sheets(0) 中的0,试了几次觉得是这样,不知道我说的对不对


 回到顶部
总数 11 1 2 下一页