Foxtable(狐表)用户栏目专家坐堂 → [求助]我这段代码是查找excel中标签的但是执行不进去呀


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

主题:[求助]我这段代码是查找excel中标签的但是执行不进去呀

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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 12:18:00 [只看该作者]

For j As Integer = 1 To Rg.columns.count   ''设置宽度
    rg_pdf.Columns(j).ColumnWidth = 1.71
    MessageBox.Show(rg_pdf.Columns(j).ColumnWidth & ":" & Rg.Columns(j).ColumnWidth )
Next
这样的设置是不是不能精确设置 宽度 高度

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/3 12:29:00 [只看该作者]

1、实例和代码发出来测试;

 

2、现在你设置列宽、高度,遇到什么问题?举例说明。


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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 12:54:00 [只看该作者]

 Dim Book As New XLS.Book(mb)  ''模版文件
Book.Build() '生成细节区 
Dim fl As String = tf ''临时报表文件
Book.Save(fl) '保存文件
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.Copy
rg_pdf.PasteSpecial() '默认粘贴全部
。 
Dim lk As Decimal = 0.0
For j As Integer = 1 To Rg.columns.count   ''设置宽度
    lk =  Rg.Columns(j).ColumnWidth 
    rg_pdf.Columns(j).ColumnWidth = CDbl(1.71)
    MessageBox.Show( "模板:" & rg_pdf.Columns(j).ColumnWidth & ",变量:" & lk & ",源文件:" & Rg.Columns(j).ColumnWidth  )
Next
我这样写,但是结果是 “ 模板:1.75,变量2,源文件2”,我发现这个     rg_pdf.Columns(j).ColumnWidth = CDbl(1.71)这个设置 没有效果啊,
我for循环里面之前这样写  rg_pdf.Columns(j).ColumnWidth = Rg.Columns(j).ColumnWidth  但是这样,小数rg_pdf的 和 rg 中的总是不准 

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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 13:02:00 [只看该作者]

而且列宽 在文件里面 打开 看也是这样

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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 13:57:00 [只看该作者]

测试代码已上传,请帮我试下,顺便吧行高也测试了

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:上传测试.rar


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/3 16:17:00 [只看该作者]

1、没看懂你到底想做什么。

 

2、excel每一列的宽度都是固定的,如果你复制多种不同的内容进去,无法各自设置宽度的。

 

3、如果你希望每列的宽度不同,请拷贝到word文档里面去。


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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 17:04:00 [只看该作者]

我要把单个文件,插入到合并文件里面。
我的单个文件 里面 每列宽度不一样啊,插入到合并文件里面后也设置到了宽度, 你把合并文件内容全部删除,宽度默认宽度为5,插入后就宽度都不一样了。
excel文件在文件夹里面有两个,单个对应单个 里面选的excel,合并选合并那个excel文件,然后点生成,就把单个文件的内容插入到合并文件里面了

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/3 22:06:00 [只看该作者]

我新建一个excel,然后测试下面代码没问题

 

Dim fl As String = "d:\单个文件.xls"
Dim fl2 As String = "d:\合并总文件.xlsx"
Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl)
Dim Wb2 As MSExcel.WorkBook = App.WorkBooks.Open(fl2)
Dim Ws1 As MSExcel.WorkSheet = Wb2.WorkSheets(2)
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(1)


Dim x As Integer = Ws1.UsedRange.Rows.Count
Ws2.UsedRange.Copy
ws1.Select
ws1.Cells(x,1).Select '纵向拷贝
ws1.paste

'设置列格式
ws2.activate
ws2.rows("1:" & ws2.UsedRange.rows.count).Select
app.CutCopyMode = False
app.Selection.Copy
ws1.Activate
ws1.rows(x & ":" & x+ws2.usedRange.rows.count).Select
app.selection.PasteSpecial(Paste:=-4122, Operation:=-4142,SkipBlanks:=False, Transpose:=False)

'设置行格式
ws2.activate
ws2.columns(ws2.cells(1,1).address.split("$")(1) & ":" & ws2.cells(1,ws2.UsedRange.columns.count).address.split("$")(1)).Select
app.CutCopyMode = False
app.Selection.Copy
ws1.activate
ws1.columns(ws1.cells(1,1).address.split("$")(1) & ":" &  ws1.cells(1,ws2.usedRange.columns.count).address.split("$")(1)).Select
app.selection.PasteSpecial(Paste:=-4122, Operation:=-4142,SkipBlanks:=False, Transpose:=False)
app.CutCopyMode = False

'设置单元格格式
ws2.activate
ws2.UsedRange.Select
app.CutCopyMode = False
app.Selection.Copy
ws1.activate
ws1.range(ws1.cells(x, 1).address & ":" & ws1.cells(x+ws2.UsedRange.rows.count, ws2.UsedRange.columns.count).address).Select
app.selection.PasteSpecial(Paste:=-4122, Operation:=-4142,SkipBlanks:=False, Transpose:=False)
app.CutCopyMode = False

'Wb.Save
app.Visible = True

'App.Quit

 

 


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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 22:46:00 [只看该作者]

我去试下  每一个列都看过列宽吗,整数的没问题,多对比几个列宽

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


加好友 发短信
等级:二尾狐 帖子:594 积分:4030 威望:0 精华:0 注册:2015/3/10 13:25:00
  发帖心情 Post By:2019/3/3 23:04:00 [只看该作者]

这个代码我原封不动的试下了啊,
只是大概差不多,你可以把两个文件里面的A-AJ列 右键点列宽看看显示的 数据差一些。
不过也是在一页显示的,但是我想弄清列宽为啥会差一些
[此贴子已经被作者于2019/3/3 23:05:24编辑过]

 回到顶部
总数 54 上一页 1 2 3 4 5 6 下一页