CommonDialog问题解决?

[转载Bentley中文知识库原帖] cmx_stone:我想修改一下bentley的另存对话框,在里面需要使用CommonDialog控件,在"引用"中也选取了comdlg32.ocx控件了,但是使用中我的电脑可以,放到其他电脑上就不能使用了,请问是何道理?
程序如下:

Public Function SaveTo()

On Error GoTo error
SaveTo = ""
Dim Dname As String
Dim comdlg As CommonDialog
Set comdlg = New CommonDialog
comdlg.Filter = "*.dgn"
comdlg.fileName = Dname
comdlg.CancelError = True
comdlg.ShowSave
If Len(comdlg.fileName) = 0 Then Exit Function '保存到文件
If Dir(comdlg.fileName) <> "" Then
If MsgBox("文件已存在,是否覆盖?", vbYesNo, "文件已存在") = vbNo Then comdlg.ShowSave
End If

' SaveTo = comdlg.fileName
Call ActiveDesignFile.SaveAs(comdlg.fileName & ".dgn", True, msdDesignFileFormatV8)

Set comdlg = Nothing
Exit Function
error:
Set comdlg = Nothing
Exit Function '用户按了取消

'
End Function

 

[转载Bentley中文知识库原帖] MicroStation迷:请把你的MVBA文件放上来我在我的电脑试一试。

Parents
  • [转载Bentley中文知识库原帖] cmx_stone:好的,请您看看呢,用之前在引用里勾选一下"Microsoft Common Dialog Control 6.0"

     

    [转载Bentley中文知识库原帖] MicroStation迷:把你的Function改成Sub就能运行了。MicroStation VBA中只有Sub才是可以直接运行的,Function必须被Sub调用才可。

     

    [转载Bentley中文知识库原帖] cmx_stone:不对啊,改了还是不行,在错误发生的电脑上
    程序运行到"Set comdlg = New CommonDialog"这句话都会弹出下面这个对话框,可是我CommonDialog控件注册了啊,在我的电脑上程序就能运行:

    此主题相如下1.jpg:

     

    图片点击可在新窗口打开查看

     


    This is a test

  • [转载Bentley中文知识库原帖] MicroStation迷:在我的电脑上也能运行呀!是否需要更新VBA core。找个MicroStation V8XM或V8i的于安装包安装一下试一试。


    This is a test

Reply Children
No Data