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


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

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

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


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

这个代码 可以用 但是有个问题,添加到一个文件里面以后 第一个和最后一个格式都是对的,中间的格式都不对,就是上面 我发的测试文件,多添加几次四次吧,中间的2次都没有格式
 Dim pdfFile = ProjectPath & Vars("pdfTemp")   'excel合并总文件

Dim mb1 As String = args(0)
Dim tf1 As String = args(1)
Dim Book As New XLS.Book(mb1)  '打开模版
Book.Build()
Book.Save(tf1) ''根据选择的记录保存到文件中


'''导入文件开始行
'Dim mb As String = mb1
'Dim tf As String = pdfFile 
Dim fl As String = tf1
Dim fl2 As String = pdfFile
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 = 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
'app.Visible = True

MessageBox.Show(ws2.UsedRange.Rows.count + 1)
Ws2.Rows( ws2.UsedRange.Rows.count + 1).PageBreak = 1
Wb.save
Wb2.Save
App.Quit
[此贴子已经被作者于2019/3/5 21:19:52编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  42楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106178 积分:540007 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/5 21:49:00 [只看该作者]

请上传可以测试的实例说明

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


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

就在我前面一个呀测试文件呀,合并的时候,你合并四次,中间的两个文件就没有格式

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


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

在前面那个回复上有

 回到顶部
帅哥,在线噢!
有点蓝
  45楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106178 积分:540007 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/5 22:33:00 [只看该作者]

34楼的例子我这边没有测试不了,文件不对。请重新上传可以完整测试的实例和execl文件

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


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

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

生成的按钮按三次以上,就会发现一头一尾 格式没问题 中间格式有问题

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


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


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

万分感谢 ,ok了

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


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

又出现个问题 我每次添加要删除之前的内容 我是想着选excel左上角  这样就全选了 然后删除 这样所有的内容就没了,要怎么写呀

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


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