CorelVBA.bas 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. VERSION 5.00
  2. Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} CorelVBA
  3. Caption = "CorelVBA 中秋节版 By 蘭雅sRGB 2022"
  4. ClientHeight = 5415
  5. ClientLeft = 45
  6. ClientTop = 330
  7. ClientWidth = 7740
  8. OleObjectBlob = "CorelVBA.frx":0000
  9. StartUpPosition = 1 '所有者中心
  10. End
  11. Attribute VB_Name = "CorelVBA"
  12. Attribute VB_GlobalNameSpace = False
  13. Attribute VB_Creatable = False
  14. Attribute VB_PredeclaredId = True
  15. Attribute VB_Exposed = False
  16. #If VBA7 Then
  17. Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  18. Private Declare PtrSafe Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
  19. Private Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  20. Private Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  21. Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  22. Private Declare PtrSafe Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  23. #Else
  24. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
  25. Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
  26. Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
  27. Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
  28. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
  29. Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) As Long
  30. #End If
  31. Private Const GWL_STYLE As Long = (-16)
  32. Private Const GWL_EXSTYLE = (-20)
  33. Private Const WS_CAPTION As Long = &HC00000
  34. Private Const WS_EX_DLGMODALFRAME = &H1&
  35. Private switch As Boolean
  36. Private Sub Close_Icon_Click()
  37. WebHelp "https://262235.xyz/index.php/tag/vba/"
  38. Unload Me ' 关闭
  39. End Sub
  40. Private Sub ToolBar_show_Click()
  41. Unload Me
  42. Toolbar.Show 0
  43. End Sub
  44. Private Sub UserForm_Initialize()
  45. Dim IStyle As Long
  46. Dim hWnd As Long
  47. hWnd = FindWindow("ThunderDFrame", Me.Caption)
  48. IStyle = GetWindowLong(hWnd, GWL_STYLE)
  49. IStyle = IStyle And Not WS_CAPTION
  50. SetWindowLong hWnd, GWL_STYLE, IStyle
  51. DrawMenuBar hWnd
  52. IStyle = GetWindowLong(hWnd, GWL_EXSTYLE) And Not WS_EX_DLGMODALFRAME
  53. SetWindowLong hWnd, GWL_EXSTYLE, IStyle
  54. With Me
  55. ' .StartUpPosition = 0
  56. ' .Left = 500
  57. ' .Top = 200
  58. .Width = 385.5
  59. .Height = 271.45
  60. End With
  61. UIFile = Path & "GMS\262235.xyz\UI.jpg"
  62. If API.ExistsFile_UseFso(UIFile) Then
  63. UI.Picture = LoadPicture(UIFile) '换UI图
  64. End If
  65. End Sub
  66. Private Sub LOGO_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
  67. If Button Then
  68. mx = x
  69. my = Y
  70. End If
  71. End Sub
  72. Private Sub LOGO_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
  73. If Button Then
  74. Me.Left = Me.Left - mx + x
  75. Me.Top = Me.Top - my + Y
  76. End If
  77. End Sub
  78. Private Sub About_Cmd_Click()
  79. MsgBox "请给我支持!" & vbNewLine & "您的支持,我才能有动力添加更多功能." & vbNewLine & "蘭雅CorelVBA中秋节版" & vbNewLine & "coreldrawvba插件交流群 8531411"
  80. End Sub
  81. Private Sub UI_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal x As Single, ByVal Y As Single)
  82. ' 定义图标坐标pos
  83. Dim pos_x As Variant
  84. Dim pos_y As Variant
  85. pos_x = Array(32, 110, 186, 265, 345)
  86. pos_y = Array(50, 135, 215)
  87. If Abs(x - pos_x(0)) < 30 And Abs(Y - pos_y(0)) < 30 Then
  88. 物件角线
  89. ElseIf Abs(x - pos_x(1)) < 30 And Abs(Y - pos_y(0)) < 30 Then
  90. 绘制矩形
  91. ElseIf Abs(x - pos_x(2)) < 30 And Abs(Y - pos_y(0)) < 30 Then
  92. 角线爬虫
  93. ElseIf Abs(x - pos_x(3)) < 30 And Abs(Y - pos_y(0)) < 30 Then
  94. 矩形拼版
  95. ElseIf Abs(x - pos_x(4)) < 30 And Abs(Y - pos_y(0)) < 30 Then
  96. 拼版角线
  97. End If
  98. If Abs(x - pos_x(0)) < 30 And Abs(Y - pos_y(1)) < 30 Then
  99. Tools.居中页面
  100. ElseIf Abs(x - pos_x(1)) < 30 And Abs(Y - pos_y(1)) < 30 Then
  101. 拼版标记
  102. ElseIf Abs(x - pos_x(2)) < 30 And Abs(Y - pos_y(1)) < 30 Then
  103. 智能群组
  104. ElseIf Abs(x - pos_x(3)) < 30 And Abs(Y - pos_y(1)) < 30 Then
  105. CQL选择
  106. ElseIf Abs(x - pos_x(4)) < 30 And Abs(Y - pos_y(1)) < 30 Then
  107. 批量替换
  108. End If
  109. If Abs(x - pos_x(0)) < 30 And Abs(Y - pos_y(2)) < 30 Then
  110. Tools.尺寸取整
  111. ElseIf Abs(x - pos_x(1)) < 30 And Abs(Y - pos_y(2)) < 30 Then
  112. Tools.TextShape_ConvertToCurves
  113. ElseIf Abs(x - pos_x(2)) < 30 And Abs(Y - pos_y(2)) < 30 Then
  114. Dim h As Long, r As Long
  115. mypath = Path & "GMS\262235.xyz\"
  116. App = mypath & "GuiAdobeThumbnail.exe"
  117. h = FindWindow(vbNullString, "CorelVBA 青年节 By 蘭雅sRGB")
  118. I = ShellExecute(h, "", App, "", mypath, 1)
  119. ElseIf Abs(x - pos_x(3)) < 30 And Abs(Y - pos_y(2)) < 30 Then
  120. If switch Then
  121. switch = Not switch
  122. Tools.傻瓜火车排列 0#
  123. Else
  124. switch = Not switch
  125. Tools.傻瓜阶梯排列 0#
  126. End If
  127. ElseIf Abs(x - pos_x(4)) < 30 And Abs(Y - pos_y(2)) < 30 Then
  128. 学习CorelVBA实验室
  129. End If
  130. If Abs(x - 210) < 30 And Abs(Y - 261) < 8 Then
  131. WebHelp "https://262235.xyz/index.php/tag/vba/"
  132. End If
  133. End Sub
  134. Function WebHelp(url As String)
  135. Dim h As Long, r As Long
  136. h = FindWindow(vbNullString, "CorelVBA 青年节 By 蘭雅sRGB")
  137. r = ShellExecute(h, "", url, "", "", 1)
  138. End Function
  139. Private Sub 绘制矩形()
  140. 剪贴板尺寸建立矩形.start
  141. End Sub
  142. Private Sub 角线爬虫()
  143. 裁切线.SelectLine_to_Cropline
  144. End Sub
  145. Private Sub 矩形拼版()
  146. 拼版裁切线.arrange
  147. End Sub
  148. Private Sub 批量替换()
  149. CorelVBA.Hide
  150. Replace_UI.Show 0
  151. End Sub
  152. Private Sub 拼版标记()
  153. 自动中线色阶条.Auto_ColorMark
  154. End Sub
  155. Private Sub 拼版角线()
  156. 拼版裁切线.Cut_lines
  157. End Sub
  158. Private Sub 物件角线()
  159. 裁切线.start
  160. End Sub
  161. Private Sub 智能群组()
  162. 智能群组和查找.智能群组
  163. End Sub
  164. Private Sub CQL选择()
  165. CorelVBA.Hide
  166. CQL_FIND_UI.Show 0
  167. End Sub
  168. Private Sub 学习CorelVBA实验室()
  169. CorelVBA.Hide
  170. ' 调用语句
  171. I = GMSManager.RunMacro("CorelDRAW_VBA", "学习CorelVBA.start")
  172. End Sub