frmCommonDialog-取消
如果文件被选中并位于文件名文本框中,则无论您选择“确定”还是“取消”,名称仍然基于我的代码。单击“确定”或“取消”并不重要,重要的是文件名框中是否有任何内容。
有办法吗?
或者我需要以某种方式读取click事件来测试是否单击了“OK”或“Cancel”?
我该怎么做?
谢谢你的帮助,
凯文 发布代码摘录以进行调试将非常有用。
但是,以下代码在我的工作站上正常工作:
CommonDialog1.FileName = "C:\MyTestFile.txt"
CommonDialog1.Filter = "Text Files (*.TXT) |*.txt" & "|All Files (*.*)|*.*"
CommonDialog1.FilterIndex = 1
CommonDialog1.DialogTitle = "Select a file "
CommonDialog1.ShowOpen
MsgBox CommonDialog1.FileName
当做 AC2设计,我爱你!!! 试试这个:
Sub OpenFile()
On Error GoTo errHan
' Your code
'
'
'
Exit
errHan:
If Err.Number = 32755 Then 'Cancel
Unload Me
ElseIf Err.Number = 75 Then
MsgBox "File " & fName & " is open"
Unload Me
End If
End Sub 我想我对我最初的帖子不是很清楚。
我的代码运行良好,没有任何错误。
问题是当提示输入文件名时,无法取消。
前任。
当我在commomdialog中单击“取消”时,如果文件名文本框中有文件名,文件名仍会传递给
commondialog1。文件名
我想我需要的是一种方法来确定我点击哪个按钮,“确定”或“取消”
这可能吗?
凯文 根据您的帖子和签名,我假设您正在使用VBA(AutoCAD 2008不支持VSTA)。因此,我提出的示例基于VBA,在我的第一篇文章中可能不够清楚。
那么,你用什么组件来打开盒子呢?应为“Microsoft Common Dialog Control 6.0”。
在新表单上添加两个按钮和一个CommonDialog控件,并粘贴下面的代码。
Private Sub CommandButton1_Click()
Dim SelectedFile As String
CommonDialog1.FileName = "C:\MyTestFile.txt"
CommonDialog1.ShowOpen
SelectedFile = CommonDialog1.FileName
MsgBox SelectedFile
End Sub
Private Sub CommandButton2_Click()
Dim SelectedFile As String
CommonDialog1.FileName = "C:\MyTestFile.txt"
SelectedFile = CommonDialog1.FileName
CommonDialog1.ShowOpen
MsgBox SelectedFile
End Sub
正如您所见,这取决于您在代码中的什么位置获得文件名;第一种方法是正确的(我不是说它是唯一的方法),应该可以解决您的问题。
当做
关于@goran的建议,即使您没有代码错误(错误),也可以方便地使用错误处理程序——有时可能会故意导致错误,只是为了测试它并相应地采取行动;这是一种非常常见的编程实践(即尝试/除了编码)。
只有一条注释,在CommonDialog的对话框中,默认情况下取消使用不会引发错误,因此需要使用以下命令显式强制执行:
CommonDialog1.CancelError = True
当做
页:
[1]