Foxtable(狐表)用户栏目专家坐堂 → [求助]Excel合并后删除源文件时提示文件正在使用


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

主题:[求助]Excel合并后删除源文件时提示文件正在使用

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


加好友 发短信
等级:四尾狐 帖子:837 积分:7217 威望:0 精华:0 注册:2017/8/31 12:07:00
[求助]Excel合并后删除源文件时提示文件正在使用  发帖心情 Post By:2023/9/4 12:12:00 [只看该作者]

老师,用以下代码合并Excel数据后,删除源文件提示正在使用,该如何解决?谢谢!
Dim dlg As New OpenFileDialog '定义一个新的OpenFileDialog
dlg.Filter = "Excel文件|*.xls;*.xlsx" '设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then '如果用户单击了确定按钮
    Dim ifo As New FileInfo(dlg.FileName)
    If ifo.Extension <> ".xls" And ifo.Extension <> ".xlsx" Then
        MessageBox.Show("选择的是非Excel格式文件,请重新选择!", "提示")
        Return
    End If
    Dim sheetname As String
    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.FileName)
    sheetname = Wb.WorkSheets(1).Name & "$"
    App.Quit
    
    Dim mg As New Merger
    mg.SourcePath = dlg.FileName
    mg.Format = "excel" '指定格式
    mg.SourceTableName = sheetname '指定要合并的表
    mg.DataTableName = "员工花名册" '指定接收数据的表
    mg.Merge() '开始合并
End If

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20230904121018.png
图片点击可在新窗口打开查看


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


加好友 发短信
等级:超级版主 帖子:111414 积分:567140 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/9/4 13:32:00 [只看该作者]

不要使用vba,使用XLS.Book

……
Dim sheetname As String
Dim Book As New XLS.Book(dlg.FileName)
sheetname = Book.Sheets(0).Name & "$"
Dim mg As New Merger
mg.SourcePath = dlg.FileName
……

 回到顶部