以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]生成Excel后如何打开该Excel文件中指定的工作表  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=100854)

--  作者:lzzhx
--  发布时间:2017/5/19 16:45:00
--  [求助]生成Excel后如何打开该Excel文件中指定的工作表
[求助]:
       将表导出为Excel,导出时指定工作表名,自动打开导出的Exlxl工作簿,工作表直接定位在第一个工作表上,如休才能自动定位在指定的工件表上

--  作者:有点色
--  发布时间:2017/5/19 16:56:00
--  
Dim dlg As new SaveFileDialog
dlg.Filter = "excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    CurrentTable.SaveExcel(dlg.FileName, CurrentTable.name)
    Dim App As New MSExcel.Application
    Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.filename)
    Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(CurrentTable.name)
    ws.Select
    app.visible = True
End If

--  作者:lzzhx
--  发布时间:2017/5/19 17:11:00
--  
谢谢老师
--  作者:lzzhx
--  发布时间:2017/5/19 17:27:00
--  
出现错误

 无效索引。(异常来自 HRESULT:0x8002000B  (DISP_E_BADINDEx))

--  作者:lzzhx
--  发布时间:2017/5/19 17:37:00
--  
是网络不好,导致没有导出表,打开时就出错。

如何能判断导出是否成功,如不成功就提示,成功了再打开

--  作者:有点色
--  发布时间:2017/5/19 17:40:00
--  

改成这样试试

 

Dim dlg As new SaveFileDialog
dlg.Filter = "excel|*.xls;*.xlsx"
If dlg.ShowDialog = DialogResult.OK Then
    CurrentTable.SaveExcel(dlg.FileName, CurrentTable.name)
    If FileSys.FileExists(dlg.FileName) Then
        Dim App As New MSExcel.Application
        try
            Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(dlg.filename)
            Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(CurrentTable.name)
            ws.Select
            app.visible = True
        catch ex As exception
            msgbox(ex.message)
            app.quit
        End try
    End If
End If


--  作者:lzzhx
--  发布时间:2017/5/19 17:46:00
--  
还是出现同样的错误提示,文件已存在,但新的工作表并没有加进去
--  作者:lzzhx
--  发布时间:2017/5/19 17:55:00
--  
如新导出的文件已经打开,再导出 就出现上面的错误提示,如没有打开,则导出时就正常

如何在导出前判断文件是否已经打开,如打开,提示用户关闭打开的文件再导出或不导出?

--  作者:有点色
--  发布时间:2017/5/19 18:09:00
--  

 参考

 

http://www.foxtable.com/webhelp/scr/2126.htm