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


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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/3 10:42:00 [显示全部帖子]


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


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

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

 

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


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


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

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

 

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

 

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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/3 23:09:00 [显示全部帖子]

1、请新建一个excel文件或者sheet后测试。

 

2、格式会原封不动拷贝过去的。

 

3、微小差异,不需要理会。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/4 10:45:00 [显示全部帖子]

1、你动态加入分页啊;

 

2、我测试没问题啊。请新建一个excel文件或者sheet后测试啊。

 

3、出错的实例,请发上来测试。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 17:33:00 [显示全部帖子]

无法理解你的问题,宽度和高度,都一样啊。

 

请具体说明那里不同


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/5 18:02:00 [显示全部帖子]

以下是引用a937775799在2019/3/5 17:56:00的发言:
你点击生成pdf按钮后, 你在两个文件列Q列上点鼠标右键设置列宽可以看到列的宽度 一个文件是3,一个文件是3.43

 

看像素啊,不要看值啊。

 

测量宽度一样就可以啊。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/6 9:54:00 [显示全部帖子]

Dim mb As String = e.Form.Controls("t1").value

Dim tf As String = e.Form.Controls("tAll").value
'Dim pns As String = args(2)


Dim fl As String = mb
Dim fl2 As String = tf
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(1)
Dim Ws2 As MSExcel.WorkSheet = Wb.WorkSheets(1)


Dim x As Integer = iif(Ws1.UsedRange.Rows.Count=1, 1, Ws1.UsedRange.Rows.Count+1)
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)

'设置列格式
If Ws1.UsedRange.Rows.Count <= 40 Then
    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
End If

'设置单元格格式
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
'app.Visible = True
Ws2.Rows( ws2.UsedRange.Rows.count + 1).PageBreak = 1
Wb.save
Wb2.Save
App.Quit


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/6 14:36:00 [显示全部帖子]

以下是引用a937775799在2019/3/6 14:28:00的发言:
又出现个问题 我每次添加要删除之前的内容 我是想着选excel左上角  这样就全选了 然后删除 这样所有的内容就没了,要怎么写呀

 

Dim App As New MSExcel.Application
Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open("D:\test.xls")
Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1)
Dim Rg = Ws.Cells
Rg.Delete

App.Visible = True


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