以文本方式查看主题

-  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=101434)

--  作者:新福星
--  发布时间:2017/5/31 11:53:00
--  [求助]打开Excel模板原来好用升级后出错了!

程序中使用了自定义多张Excel模板,编制程序自行按指定格填写内容。

这样的用法有七八处之多。

之前一直好用的。也许升级之后,就出现错误了!如下:

 

 

经验证所有的文件名称在指定的目录都是存在的,文件名称都是正确的!之前都是好用的!也不可能一下子谁把多段程序都改了。

 谢谢!

[此贴子已经被作者于2017/5/31 12:04:15编辑过]

--  作者:新福星
--  发布时间:2017/5/31 11:55:00
--  


wjm=ProjectPath &  "生产单指令.xls"
wjm1=ProjectPath & "project\\" & "生产单指令.xls"

MessageBox.Show("A--" & wjm1)

If FileSys.FileExists(wjm)=False Then wjm=wjm1
If FileSys.FileExists(wjm)=False Then
    MessageBox.Show(wjm & " 找不到这个模板!")
    Return
End If

MessageBox.Show("B--" & wjm)
If FileIsOpened(wjm)= True Then
    MessageBox.Show(wjm & " 请关闭生产指令模板!")
    Return
End If
报表名称=s("生产指令") & "生产指令"
If ck1.Checked=True Then
    File_name=报表目录 &   报表名称  & ".pdf"
Else
    File_name=报表目录 &  报表名称  & ".xls"
End If
If FileIsOpened(File_name)= True Then
    MessageBox.Show(File_name & " 请关闭生产指令文件!")
    Return
End If

l1.text=wjm
MessageBox.Show("C--" & wjm)
try
    If FileIsOpened(wjm)= False Then
        wb = App.WorkBooks.Open(wjm)
    Else
        wb = App.WorkBooks(wjm)
    End If
    ws = Wb.WorkSheets("生产指令")
   App.DisplayAlerts = False
    wb.saveas(File_name)
    App.DisplayAlerts = True
catch ex As exception
    msgbox(ex.Message)
finally
    App.quit
End try

[此贴子已经被作者于2017/5/31 12:04:45编辑过]

--  作者:有点色
--  发布时间:2017/5/31 12:01:00
--  

 加入msgbox,定位出错位置。

 

 如果你的路径是存在的,看看是否你重复打开重复保存了?


--  作者:新福星
--  发布时间:2017/5/31 12:04:00
--  

找到原因了!不是要打开的Excel模板位置出错,而是存放形成的Excel文件的目录缺失!谢谢