以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  窗口提示用户另存excel文件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=172203)

--  作者:guosheng
--  发布时间:2021/9/29 8:59:00
--  窗口提示用户另存excel文件
以下是将tables文件另存问excel,如何将一个excel文件以窗口形式另存啊。excel文件所在的路径为:Dim fl As String = ProjectPath & "Reports\\出库单.xlsx"

Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
     Tables("统计表2").SaveExcel(dlg.FileName,"明细表")  \'保存文件
        Dim Proc As New Process
        Proc.File = dlg.FileName
        Proc.Start()
End If

--  作者:有点蓝
--  发布时间:2021/9/29 9:11:00
--  
窗口形式是一个什么形式?请举例说明一下。
--  作者:guosheng
--  发布时间:2021/9/29 9:15:00
--  
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮  

打开一个另存窗口---用户选择路径,直接将excel另存到用户指定的位置。(跟帮助中,将table数据另存为excel类似)

--  作者:有点蓝
--  发布时间:2021/9/29 9:18:00
--  
只是选路径,直接使用SaveFileDialog 不就行了?何必多此一举
--  作者:guosheng
--  发布时间:2021/9/29 9:28:00
--  
对的,就是要用SaveFileDialog实现的
关键怎么把指定的excel文件放进去啊所在的路径为:Dim fl As String = ProjectPath & "Reports\\出库单.xlsx"),是要先open这个excel文件存成一个对象吗,怎么操作啊
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
     Tables("统计表2").SaveExcel(dlg.FileName,"明细表")  \'保存文件
        Dim Proc As New Process
        Proc.File = dlg.FileName
        Proc.Start()
End If

--  作者:有点蓝
--  发布时间:2021/9/29 9:31:00
--  
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
dlg.FileName = ProjectPath & "Reports\\出库单.xlsx"
……

--  作者:guosheng
--  发布时间:2021/9/29 9:37:00
--  
这样好像不行啊,下面的代码是将dlg.FileName的文件又生成了一遍啊。
我是想把已经存在的“”出库单.xlsx“”文件,另存到用户指定的地方啊。谢了
是要用Dim Book As New XLS.Book(ProjectPath & "Reports\\出库单.xlsx")怎么操作一下吗?



Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
dlg.FileName = ProjectPath & "Reports\\出库单.xlsx"
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
        Dim Proc As New Process
        Proc.File = dlg.FileName
        Proc.Start()
End If
[此贴子已经被作者于2021/9/29 9:56:45编辑过]

--  作者:有点蓝
--  发布时间:2021/9/29 9:57:00
--  
意思是?
1、已经存在这么一个文件:ProjectPath & "Reports\\出库单.xlsx"
2、把新的数据导入上面的这个文件
3、然后在把这个移到其它地方

不是直接生成一个新的execl文件?

--  作者:guosheng
--  发布时间:2021/9/29 10:03:00
--  
把已经存在的excel文件,另存到用户指定的位置。
1、已经存在这么一个文件:ProjectPath & "Reports\\出库单.xlsx"    对的
2、把新的数据导入上面的这个文件                         
3、然后在把这个移到其它地方           

不是直接生成一个新的execl文件?         ----生成新的excel文件

--  作者:有点蓝
--  发布时间:2021/9/29 10:06:00
--  
Dim dlg As New SaveFileDialog \'定义一个新的SaveFileDialog
dlg.Filter= "Excel文件|*.xlsx" \'设置筛选器
If dlg.ShowDialog = DialogResult.Ok Then \'如果用户单击了确定按钮
FileSys.CopyFile(ProjectPath & "Reports\\出库单.xlsx" dlg.FileName,True)
     Tables("统计表2").SaveExcel(dlg.FileName,"明细表")  \'保存文件
        Dim Proc As New Process
        Proc.File = dlg.FileName
        Proc.Start()
End If