脚本解决 PowerDesigner 逆向工程生成 PDM 时中文注释问题

执行 Tools -- Execute Commands -- Run Script

以下是脚本:

Option Explicit
ValidationMode  = True
InteractiveMode = im_Batch

Dim mdl 'the current model

'get the current active model
Set mdl = ActiveModel

If (mdl Is Nothing) Then
	MsgBox "There is no current Model"
ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
	MsgBox "The current model is not an Physical Data model."
Else
	ProcessFolder mdl
End If

'This routine copy name into code for each table, each column and each view
'of the current folder

Private Sub ProcessFolder(folder)

	Dim Tab 'running table

	For Each Tab in folder.tables

		If Not tab.isShortcut Then

			If Len(tab.comment) <> 0 Then
				tab.name = tab.comment
			End If

			On Error Resume Next
			Dim col 'running column

			For Each col in tab.columns

				If Len(col.comment) <> 0 Then
					col.name = col.comment
				End If

				On Error Resume Next
			Next

		End If

	Next

End Sub
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49