Foxtable(狐表)用户栏目专家坐堂 → 关于关闭附件窗体问题


  共有4562人关注过本帖树形打印复制链接

主题:关于关闭附件窗体问题

帅哥哟,离线,有人找我吗?
裴保民
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
关于关闭附件窗体问题  发帖心情 Post By:2020/9/13 21:11:00 [只看该作者]

在 BeforeClose 事件中添加了如下代码:运行后当附件有打开时会出错,怎么避免这个错误呢?

Dim fjzl As String = "充值凭证附件资料"
If FileSys.DirectoryExists( ProjectPath & fjzl) = True Then
    FileSys.DeleteDirectory(ProjectPath & fjzl,2,2) '则彻底删除之
End If

图片点击可在新窗口打开查看此主题相关图片如下:截图00.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/9/13 21:44:05编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/13 21:48:00 [只看该作者]

如果都是execl文件,直接杀掉进程

Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
For Each p As System.Diagnostics.Process In ps
    output.show(p.processName)
    If ("Excel" = p.ProcessName)
        msgbox(p.MainWindowTitle)
        'p.kill
    End If
Next

如果杂七杂八什么类型文件都有,就不好办了

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/13 21:54:00 [只看该作者]

也有txt文件


 回到顶部
帅哥,在线噢!
有点蓝
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/13 21:59:00 [只看该作者]

txt文件一般不会有影响

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/13 22:01:00 [只看该作者]

 这是附件的文件类型
"*.doc;*.docx;*.xlsx;*.xls;*.txt"


 回到顶部
帅哥,在线噢!
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/13 22:01:00 [只看该作者]

word
Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
For Each p As System.Diagnostics.Process In ps
    output.show(p.processName)
    If ("WINWORD" = p.ProcessName)
        msgbox(p.MainWindowTitle)
     '   p.kill
    End If
Next


 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/13 22:14:00 [只看该作者]

Dim llkqsh As WinForm.TextBox = e.Form.Controls("llkqshTextBox")
Dim llkzzh As WinForm.TextBox = e.Form.Controls("llkzzhTextBox")
Dim ccrq As WinForm.DateTimePicker = e.Form.Controls("czrqDateTimePicker")
Dim fjzl As String = "充值凭证附件资料"
Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
For Each p As System.Diagnostics.Process In ps
    output.show(p.processName)
    If ("Excel" = p.ProcessName)
        p.kill
    End If
    If FileSys.DirectoryExists( ProjectPath & fjzl) = True Then
        FileSys.DeleteDirectory(ProjectPath & fjzl,2,2) '则彻底删除之
    End If
Next
If jinzhihangjianyidong=False Then
    Dim Result As DialogResult
    Result = MessageBox.Show("窗体处于编辑状态,是否放弃编辑退出?", "提示" ,MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question)
    If Result = DialogResult.No Then
        jinzhihangjianyidong=True
        DataTables("充值凭证表").RejectChanges
        DataTables("充值凭证表").Save
        Tables("充值凭证表").Filter =""
    ElseIf result = DialogResult.Yes Then
        If llkqsh.text = Nothing OrElse llkqsh.Text.Length < 3   OrElse   llkzzh.text = Nothing OrElse llkzzh.Text.Length < 3   OrElse   ccrq.Value= Nothing  Then
            MessageBox.Show("输入的数据有误,保存数据失败!", "提示")
            jinzhihangjianyidong=True
            Tables("充值凭证表").Current.Reject
            DataTables("充值凭证表").Save
            Tables("充值凭证表").Filter =""
        Else
            jinzhihangjianyidong=True
            DataTables("充值凭证表").Save
            Tables("充值凭证表").Filter =""
        End If
    ElseIf  Result = DialogResult.Cancel Then
        jinzhihangjianyidong=False
        e.cancel = True
        Return
    End If   
End If

蓝老师麻烦看看哪有问题,运行后还是错误


 回到顶部
帅哥,在线噢!
有点蓝
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/13 22:40:00 [只看该作者]

Dim fjzl As String = "充值凭证附件资料"
Dim ps As  System.Diagnostics.Process() = System.Diagnostics.Process.GetProcesses()
For Each p As System.Diagnostics.Process In ps
    output.show(p.processName)
    If ("Excel" = p.ProcessName)
        p.kill
    End If
Next
    If FileSys.DirectoryExists( ProjectPath & fjzl) = True Then
        FileSys.DeleteDirectory(ProjectPath & fjzl,2,2) '则彻底删除之
    End If
If jinzhihangjianyidong=False Then
    Dim Result As DialogResult

 回到顶部
帅哥哟,离线,有人找我吗?
裴保民
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:2007 积分:12794 威望:0 精华:0 注册:2017/4/3 15:01:00
  发帖心情 Post By:2020/9/13 23:01:00 [只看该作者]

只要附件打开,关闭窗体是总是弹出提示框,并且也不删除文件夹,怎么设置不弹出呢?

图片点击可在新窗口打开查看此主题相关图片如下:截图01.jpg
图片点击可在新窗口打开查看

[此贴子已经被作者于2020/9/13 23:05:34编辑过]

 回到顶部
帅哥,在线噢!
有点蓝
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110766 积分:563762 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/9/13 23:16:00 [只看该作者]

output.show(p.processName) '检查进程名称,不同系统可能execl显示的名称不一样的。

或者使用try处理一下,提醒用户手工关闭文件:http://www.foxtable.com/webhelp/topics/2070.htm

 回到顶部
总数 28 1 2 3 下一页