Foxtable(狐表)用户栏目专家坐堂 → 文件占用


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

主题:文件占用

帅哥,在线噢!
有点蓝
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/18 10:21:00 [显示全部帖子]

贴出具体代码看看

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


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/18 17:33:00 [显示全部帖子]

麻烦贴出完整代码

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


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/22 8:21:00 [显示全部帖子]

1、首先下面红色代码没有任何用处,去掉
        Book.Save(cy_Ass)
        Sleep (2000)
        If drs.Count > 0 Then
            Dim App As New MSExcel.Application
            Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(cy_Ass)
            wb.save()
            App.Quit
            Sleep (2000)
            Dim Book2 As New XLS.Book(cy_Ass)
2、其次XLS.Book和MSExcel.Application不要交叉混用,并且不要同时打开同一个文件

下面代码红色部分去掉,对应功能外部改为使用vba控制,vba也有合并单元格、删除sheet的用法的:http://www.foxtable.com/webhelp/topics/2121.htm
        'MessageBox.Show(300)
        If drs.Count > 0 Then
            Dim App31 As New MSExcel.Application
            Dim Book5 As New XLS.Book(cy_Ass)
            Dim SheetSrh4 As XLS.Sheet = Book5.Sheets("信息收集")
            Dim Wb31 As MSExcel.WorkBook = App31.WorkBooks.Open(cy_Ass)
            Dim Ws As MSExcel.WorkSheet = Wb31.WorkSheets("信息收集")
            App31.ActiveWindow.view = MSExcel.XlWindowView.xlPageBreakPreview
            Wb31.save()
            Sleep (2000)
            Dim kkki As Integer = 0
            For irowH As Integer = 0 To drs.Count + 10
                If kkki = 0 Then
                    try
                        If (Ws.HPageBreaks(irowH + 1).Location.Row - 1) < (drs.Count + 8) Then
                            If Names1.Contains(Ws.HPageBreaks(irowH + 1).Location.Row - 1) = False Then
                                Names1.Add(Ws.HPageBreaks(irowH + 1).Location.Row - 1)
                            End If
                        End If
                        
                    catch ex As exception
                        kkki = 1
                        App31.Quit
                    End try
                End If
            Next
            App31.Quit
            
            If drs.Count > 1 Then
                Names1.Sort
                For i4 As Integer = 0 To names1.Count - 2
                    SheetSrh4.MergeCell(names1(i4),0,names1(i4 + 1) - names1(i4),3)
                Next
                
            End If
            Book5.Save(cy_Ass)
        End If
        
        Dim BookRem As New XLS.Book(cy_Ass)
        BookRem.Sheets.Remove("行高控制")
        BookRem.Save(cy_Ass)


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


加好友 发短信
等级:超级版主 帖子:110818 积分:564034 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/9/22 10:30:00 [显示全部帖子]

Dim App31 As New MSExcel.Application
App31.Visible = false

 回到顶部