以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]点击保存按钮出现未保存 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=69072)
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 17:41:00
-- [求助]点击保存按钮出现未保存
Excel报表,一旦使用代码生成报表,就老是出现让我保存,不保存,取消按钮。
但是点击保存按钮,就出现未保存 对话框。如图所示。不知道如何解决。
此主题相关图片如下:1.png
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 17:43:00
--
具体代码是:
For Each s As String In DataTables("条件").getValues("班级名称")
Dim Book As New XLS.Book(ProjectPath & "Attachments\\学籍卡.xls") \'打开模板 Dim fl As String = ProjectPath & "Reports\\" & s & ".xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Sheet(1,9).Value = "<[班级名称] = \'" & s &"\'>" Book.Build() \'生成报表 Book.Save(fl) Dim App As New MSExcel.Application Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.Cells rg.ShrinkToFit = True App.Visible = False
app.quit Next
这个代码可以将条件表里面所有的条件值都生成报表,但是一旦生成一个报表,就出现那个保存,不保存,取消 对话框。 很烦很烦。 最好是自动就保存好。这样就完美 了。
[此贴子已经被作者于2015/5/29 17:44:21编辑过]
|
-- 作者:大红袍
-- 发布时间:2015/5/29 17:45:00
--
Dim App As New MSExcel.Application For Each s As String In DataTables("条件").getValues("班级名称") Dim Book As New XLS.Book(ProjectPath & "Attachments\\学籍卡.xls") \'打开模板 Dim fl As String = ProjectPath & "Reports\\" & s & ".xls" Dim Sheet As XLS.Sheet = Book.Sheets(0) Sheet(1,9).Value = "<[班级名称] = \'" & s &"\'>" Book.Build() \'生成报表 Book.Save(fl) Dim Wb As MSExcel.WorkBook = App.WorkBooks.Open(fl) Dim Ws As MSExcel.WorkSheet = Wb.WorkSheets(1) Dim Rg As MSExcel.Range = Ws.Cells rg.ShrinkToFit = True App.Visible = False wb.Save Next app.quit
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 18:22:00
--
这个代码运行以后,出现这个出错对话框。
此主题相关图片如下:2.png
[此贴子已经被作者于2015/5/29 18:23:26编辑过]
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 18:36:00
--
我自己猜测,可能就是无法保存生成的报表导致。
我将生成的报表打开,就出现如下对话框。
此主题相关图片如下:4.png
而且很奇怪的是,即使生成了一个报表,你要另存为,或者保存。都是无法成功的。
一旦不保存以后, 就会出现缩小字体填充的功能消失。
[此贴子已经被作者于2015/5/29 18:38:45编辑过]
|
-- 作者:大红袍
-- 发布时间:2015/5/29 18:39:00
--
你看看 任务管理器 那里,把所有的excel.exe进程杀死
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 18:39:00
--
我在任务管理器里面。已经将excel.exe杀死的。
当然你打开报表。杀死excel.exe。那么这个报表也关掉了。
再重新打开报表。那么缩小字体填充功能也消失了。
[此贴子已经被作者于2015/5/29 18:40:56编辑过]
|
-- 作者:sloyy
-- 发布时间:2015/5/29 18:42:00
--
excel没有退出内存,,应该是前面错误的代码导致退出后,内存仍有excel模块在运行,重启一次电脑吧
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 18:50:00
--
问题是这样的:
出现这样无法保存的问题,我是一直就存在的。电脑重新启动,那是不知道多少次了。至少每天肯定要关电脑的吧。第二天也是这样的问题。 我只是一直没有来问。 但是心头老是被这样的问题困扰着,感觉很不舒畅。自己也想不明白。特来问问。
|
-- 作者:monvzhilei
-- 发布时间:2015/5/29 18:52:00
--
wb.Save
这个wb.save 代码一旦加入,就是无法将条件表里面所有的班级输出,只能生成一个班级的报表。 也不知道为什么。代码是完全准确的。 就是想不明白。
取消wb.save。 就是可以生成所有报表的。奇怪!
|