You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerDesigner自动签出模型时抑制MsgBox弹窗

解决PowerDesigner自动签出时DBMS无效弹窗的问题

核心思路

通过PowerDesigner内置的Application.Interactive属性禁用交互模式,让所有需要人工干预的弹窗自动执行取消操作,同时结合错误捕获逻辑跳过有问题的模型。

具体实现代码

Dim rc 
Set rc = RepositoryConnection
Dim CurrentRepositoryModel
Set CurrentRepositoryModel = rc.FindChildByPath("path/to/RepositoryModel", PdRMG.Cls_RepositoryModel)

' 禁用交互模式,自动取消所有需要人工确认的弹窗
Application.Interactive = False

On Error Resume Next
CurrentRepositoryModel.CheckOut()

' 捕获错误并处理
If Err.Number <> 0 Then
    Output "签出失败,跳过模型: " & CurrentRepositoryModel.Name & ",错误信息: " & Err.Description
    Err.Clear ' 清除错误状态,避免影响后续操作
Else
    Output "成功签出模型: " & CurrentRepositoryModel.Name
End If

' 恢复交互模式(根据后续操作需求选择是否保留)
Application.Interactive = True

关键说明

  • Application.Interactive = False会强制PowerDesigner在遇到用户交互请求时,自动执行默认的取消/跳过动作,完全规避弹窗。
  • 错误捕获逻辑需紧跟CheckOut方法执行,这样无需等待人工关闭弹窗,就能直接捕获DBMS无效的错误并跳过对应模型。
  • 操作完成后建议恢复Interactive属性为True,避免影响后续可能需要人工交互的操作流程。

内容的提问来源于stack exchange,提问作者Lucas Maraal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 09:07:08