以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  遍历页面上的所有页面  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=131806)

--  作者:kmzb56
--  发布时间:2019/3/6 21:42:00
--  遍历页面上的所有页面
我在一个页面集合上做了集页一共有16个,想设计一个按钮,
第一:点击它可以导出所有的表
第二:可以点击它直动保存导出的表,只保存不打开。

代码如下:
Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
Dim tx As String=tab.SelectedPage.text
Dim i As Integer =0
Do While i < 16
i = i + 1
Dim gsname As Row=Tables("总帐管理_table" & i).current()

 Dim Book As New XLS.Book(ProjectPath & "Attachments\\帐务导出" & tx & ".xls")
       Dim fl As String = ProjectPath & "Reports\\" & tx  & ".xls"
    Book.Build() \'生成细节区
    Book.Save(fl) \'保存工作簿
    Dim Proc As New Process \'打开工作簿
    Proc.File = fl
    Proc.Start()
Loop


发现导出的页面只是当前的,也不知怎么写遍历集合的代码,请帮我看一下怎么写才可以达到目的?谢谢!
[此贴子已经被作者于2019/3/6 21:43:51编辑过]

--  作者:有点甜
--  发布时间:2019/3/6 21:56:00
--  
Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
For Each p As WinForm.TabPage In tab.TabPages
    Dim tx = p.Text
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\帐务导出" & tx & ".xls")
    Dim fl As String = ProjectPath & "Reports\\" & tx  & ".xls"
    Book.Build() \'生成细节区
    Book.Save(fl) \'保存工作簿   
Next

--  作者:kmzb56
--  发布时间:2019/3/9 14:42:00
--  
这们是可以,但是当前集面对应的副表并没有变,也就是说导出的表其实只有表名变对了,但是对应的副表内容没有变。要怎么让对应的副表也跟着遍历?难着遍历时对应的页面也是跟着跳动?对应的副表也跟着跳动?
[此贴子已经被作者于2019/3/9 14:45:17编辑过]

--  作者:有点蓝
--  发布时间:2019/3/9 14:56:00
--  
没看懂您的意思。副表需要怎么样的变化?
--  作者:kmzb56
--  发布时间:2019/3/9 15:10:00
--  
谢谢!已解决!!!
--  作者:kmzb56
--  发布时间:2019/3/9 15:11:00
--  
请问有导出后打开对应路径的命令么?怎么打开?
--  作者:有点蓝
--  发布时间:2019/3/9 15:52:00
--  
参考:http://www.foxtable.com/webhelp/scr/0353.htm
--  作者:kmzb56
--  发布时间:2019/3/9 16:04:00
--  
Dim tab As WinForm.TabControl = e.Form.controls("TabControl1")
For Each p As WinForm.TabPage In tab.TabPages
    Dim tx = p.Text
    Dim Book As New XLS.Book(ProjectPath & "Attachments\\帐务导出" & tx & ".xls")
    Dim fl As String = ProjectPath & "套帐" &  Date() &"\\""  & tx  & ".xls"
    Book.Build() \'生成细节区
    Book.Save(fl) \'保存工作簿
    Dim Proc As New Process \'打开工作簿
    Proc.File = fl
    Proc.Start()
Next


想让导出的文件保存在以 套帐&当时系统日期下面,怎么这个不行?是哪个地方错了?谢谢! 主要是这句Dim fl As String = ProjectPath & "套帐" &  Date() &"\\""  & tx  & ".xls" 想达到的目的是,先按照  套帐+系统日期生成一个目录,然后再在这个目录下生成各导出的文件保放在里面。
[此贴子已经被作者于2019/3/9 16:27:27编辑过]

--  作者:有点蓝
--  发布时间:2019/3/9 16:40:00
--  
Dim fl As String = ProjectPath & "套帐" &  format(date.today,"yyyyMMdd") & "\\"  & tx  & ".xls"
--  作者:kmzb56
--  发布时间:2019/3/9 16:57:00
--  
可以了,有一点我不是很明白,这个目录是在每次遍历生成的,那么生成后,后面一次再生成时这个目录会删除重建么?还是保留这个目录在下面添加文件 ?我刚才看了一下,应该是先生成再添加文件?那么这样是不是可以在遍历之前先生成目录更好?

 另外?如果同一天执行按两次按钮,是不是后一次导出的文件会默默的替换掉之前的文件?
[此贴子已经被作者于2019/3/9 16:57:46编辑过]