CardsToolsForm.frm 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. VERSION 5.00
  2. Begin {C62A69F0-16DC-11CE-9E98-00AA00574A4F} CardsToolsForm
  3. Caption = "CardsTools 2025"
  4. ClientHeight = 8070
  5. ClientLeft = 45
  6. ClientTop = 390
  7. ClientWidth = 5025
  8. OleObjectBlob = "CardsToolsForm.frx":0000
  9. StartUpPosition = 1 'CenterOwner
  10. End
  11. Attribute VB_Name = "CardsToolsForm"
  12. Attribute VB_GlobalNameSpace = False
  13. Attribute VB_Creatable = False
  14. Attribute VB_PredeclaredId = True
  15. Attribute VB_Exposed = False
  16. Private DIY_SIZE(1 To 2) As Double
  17. Private flag_size As Boolean
  18. ' 这里修改绑定编号
  19. Private Sub Combo_Material_Change()
  20. If Combo_Material.ListIndex >= 0 Then
  21. If Combo_Material.ListIndex <= 1 Then
  22. Text_SerialNumber.text = "2159"
  23. Else
  24. Text_SerialNumber.text = "2054"
  25. End If
  26. End If
  27. End Sub
  28. Private Sub UserForm_Initialize()
  29. ' Combo_Material 材质
  30. With Combo_Material
  31. .AddItem "亮" '// 文件名 替换成 过
  32. .AddItem "不" '// 前两项, 编号 2159
  33. .AddItem "星" '// 后面项, 编号 2054
  34. .AddItem "虹"
  35. .AddItem "珠光"
  36. .AddItem "碎"
  37. .AddItem "厚亮"
  38. .AddItem "厚过"
  39. .AddItem "厚星"
  40. .AddItem "厚虹"
  41. .AddItem "厚碎"
  42. .ListIndex = 0 ' 默认选中第一项
  43. ' 设置列表显示行数(等于或大于项目总数)
  44. .ListRows = .ListCount ' 显示所有项目
  45. End With
  46. ' Combo_Single_Double 单双面
  47. With Combo_Single_Double
  48. .AddItem "双面"
  49. .AddItem "单面"
  50. .ListIndex = 0 ' 默认选中第一项
  51. End With
  52. ' Combo_Quantity 数量
  53. With Combo_Quantity
  54. .AddItem "(1)"
  55. .AddItem "(2)"
  56. .AddItem "(5)"
  57. .AddItem "(10)"
  58. .AddItem "(20)"
  59. .AddItem "(30)"
  60. .AddItem "(40)"
  61. .ListIndex = 2 ' 默认选中第一项
  62. End With
  63. ' Combo_StyleCount 款数
  64. With Combo_StyleCount
  65. .AddItem "1"
  66. .AddItem "2"
  67. .AddItem "3"
  68. .AddItem "4"
  69. .AddItem "5"
  70. .AddItem "6"
  71. .AddItem "7"
  72. .AddItem "8"
  73. .AddItem "9"
  74. .AddItem "10"
  75. .ListIndex = 0 ' 默认选中第一项
  76. ' 设置列表显示行数(等于或大于项目总数)
  77. .ListRows = .ListCount ' 显示所有项目
  78. End With
  79. ' Combo_Process 工艺
  80. With Combo_Process
  81. .AddItem ""
  82. .AddItem "后工[切圆角(圆四角)]"
  83. .AddItem "后工[特规模切(圆角85X54)]"
  84. .AddItem "后工[特规模切(票根120X60)]"
  85. .AddItem "后工[特规模切(票根140X70)]"
  86. .AddItem "后工[压痕(居中横向压1痕)]"
  87. .AddItem "后工[压痕(居中竖向压1痕)]"
  88. .ListIndex = 0 ' 默认选中第一项
  89. ' 设置列表显示行数(等于或大于项目总数)
  90. .ListRows = .ListCount ' 显示所有项目
  91. End With
  92. End Sub
  93. Private Sub MakeRectangle(w As Double, h As Double, Optional ByVal onekey_images As Boolean = False)
  94. If Documents.count = 0 Then CreateDocument
  95. API.BeginOpt
  96. If onekey_images Then
  97. Call Images2NewDoc
  98. End If
  99. Call MakeRectangleToPowerClip(w, h)
  100. DIY_SIZE(1) = w: DIY_SIZE(2) = h
  101. API.EndOpt
  102. End Sub
  103. '///***** 批量尺寸按钮代码 *****///
  104. Private Sub BT_54x85mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  105. If Button = 2 Then
  106. ElseIf Shift = fmCtrlMask Then
  107. Call MakeRectangle(54, 85)
  108. Else
  109. Call MakeRectangle(54, 85, True)
  110. End If
  111. End Sub
  112. Private Sub BT_85x54mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  113. If Button = 2 Then
  114. ElseIf Shift = fmCtrlMask Then
  115. Call MakeRectangle(85, 54)
  116. Else
  117. Call MakeRectangle(85, 54, True)
  118. End If
  119. End Sub
  120. Private Sub BT_90x54mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  121. If Button = 2 Then
  122. ElseIf Shift = fmCtrlMask Then
  123. Call MakeRectangle(90, 54)
  124. Else
  125. Call MakeRectangle(90, 54, True)
  126. End If
  127. End Sub
  128. Private Sub BT_54x90mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  129. If Button = 2 Then
  130. ElseIf Shift = fmCtrlMask Then
  131. Call MakeRectangle(54, 90)
  132. Else
  133. Call MakeRectangle(54, 90, True)
  134. End If
  135. End Sub
  136. Private Sub BT_90x90mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  137. If Button = 2 Then
  138. ElseIf Shift = fmCtrlMask Then
  139. Call MakeRectangle(90, 90)
  140. Else
  141. Call MakeRectangle(90, 90, True)
  142. End If
  143. End Sub
  144. Private Sub BT_89x58mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  145. If Button = 2 Then
  146. ElseIf Shift = fmCtrlMask Then
  147. Call MakeRectangle(89, 58)
  148. Else
  149. Call MakeRectangle(89, 58, True)
  150. End If
  151. End Sub
  152. Private Sub BT_58x89mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  153. If Button = 2 Then
  154. ElseIf Shift = fmCtrlMask Then
  155. Call MakeRectangle(58, 89)
  156. Else
  157. Call MakeRectangle(58, 89, True)
  158. End If
  159. End Sub
  160. Private Sub BT_140x95mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  161. If Button = 2 Then
  162. ElseIf Shift = fmCtrlMask Then
  163. Call MakeRectangle(140, 95)
  164. Else
  165. Call MakeRectangle(140, 95, True)
  166. End If
  167. End Sub
  168. Private Sub BT_95x140mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  169. If Button = 2 Then
  170. ElseIf Shift = fmCtrlMask Then
  171. Call MakeRectangle(95, 140)
  172. Else
  173. Call MakeRectangle(95, 140, True)
  174. End If
  175. End Sub
  176. Private Sub BT_150x100mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  177. If Button = 2 Then
  178. ElseIf Shift = fmCtrlMask Then
  179. Call MakeRectangle(150, 100)
  180. Else
  181. Call MakeRectangle(150, 100, True)
  182. End If
  183. End Sub
  184. Private Sub BT_100x150mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  185. If Button = 2 Then
  186. ElseIf Shift = fmCtrlMask Then
  187. Call MakeRectangle(100, 150)
  188. Else
  189. Call MakeRectangle(100, 150, True)
  190. End If
  191. End Sub
  192. Private Sub BT_100x100mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  193. If Button = 2 Then
  194. ElseIf Shift = fmCtrlMask Then
  195. Call MakeRectangle(100, 100)
  196. Else
  197. Call MakeRectangle(100, 100, True)
  198. End If
  199. End Sub
  200. Private Sub BT_54x54mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  201. If Button = 2 Then
  202. ElseIf Shift = fmCtrlMask Then
  203. Call MakeRectangle(54, 54)
  204. Else
  205. Call MakeRectangle(54, 54, True)
  206. End If
  207. End Sub
  208. Private Sub BT_60x120mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  209. If Button = 2 Then
  210. ElseIf Shift = fmCtrlMask Then
  211. Call MakeRectangle(60, 120)
  212. Else
  213. Call MakeRectangle(60, 120, True)
  214. End If
  215. End Sub
  216. Private Sub BT_120x60mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  217. If Button = 2 Then
  218. ElseIf Shift = fmCtrlMask Then
  219. Call MakeRectangle(120, 60)
  220. Else
  221. Call MakeRectangle(120, 60, True)
  222. End If
  223. End Sub
  224. Private Sub BT_70x140mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  225. If Button = 2 Then
  226. ElseIf Shift = fmCtrlMask Then
  227. Call MakeRectangle(70, 140)
  228. Else
  229. Call MakeRectangle(70, 140, True)
  230. End If
  231. End Sub
  232. Private Sub BT_140x70mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  233. If Button = 2 Then
  234. ElseIf Shift = fmCtrlMask Then
  235. Call MakeRectangle(140, 70)
  236. Else
  237. Call MakeRectangle(140, 70, True)
  238. End If
  239. End Sub
  240. Private Sub BT_50x150mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  241. If Button = 2 Then
  242. ElseIf Shift = fmCtrlMask Then
  243. Call MakeRectangle(50, 150)
  244. Else
  245. Call MakeRectangle(50, 150, True)
  246. End If
  247. End Sub
  248. Private Sub BT_150x50mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  249. If Button = 2 Then
  250. ElseIf Shift = fmCtrlMask Then
  251. Call MakeRectangle(150, 50)
  252. Else
  253. Call MakeRectangle(150, 50, True)
  254. End If
  255. End Sub
  256. Private Sub BT_100x300mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  257. If Button = 2 Then
  258. ElseIf Shift = fmCtrlMask Then
  259. Call MakeRectangle(100, 300)
  260. Else
  261. Call MakeRectangle(100, 300, True)
  262. End If
  263. End Sub
  264. Private Sub BT_300x100mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  265. If Button = 2 Then
  266. ElseIf Shift = fmCtrlMask Then
  267. Call MakeRectangle(300, 100)
  268. Else
  269. Call MakeRectangle(300, 100, True)
  270. End If
  271. End Sub
  272. Private Sub BT_150x450mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  273. If Button = 2 Then
  274. ElseIf Shift = fmCtrlMask Then
  275. Call MakeRectangle(150, 450)
  276. Else
  277. Call MakeRectangle(150, 450, True)
  278. End If
  279. End Sub
  280. Private Sub BT_450x150mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  281. If Button = 2 Then
  282. ElseIf Shift = fmCtrlMask Then
  283. Call MakeRectangle(450, 150)
  284. Else
  285. Call MakeRectangle(450, 150, True)
  286. End If
  287. End Sub
  288. Private Sub BT_210x140mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  289. If Button = 2 Then
  290. ElseIf Shift = fmCtrlMask Then
  291. Call MakeRectangle(210, 140)
  292. Else
  293. Call MakeRectangle(210, 140, True)
  294. End If
  295. End Sub
  296. Private Sub BT_140x210mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  297. If Button = 2 Then
  298. ElseIf Shift = fmCtrlMask Then
  299. Call MakeRectangle(140, 210)
  300. Else
  301. Call MakeRectangle(140, 210, True)
  302. End If
  303. End Sub
  304. Private Sub BT_297x210mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  305. If Button = 2 Then
  306. ElseIf Shift = fmCtrlMask Then
  307. Call MakeRectangle(297, 210)
  308. Else
  309. Call MakeRectangle(297, 210, True)
  310. End If
  311. End Sub
  312. Private Sub BT_210x297mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  313. If Button = 2 Then
  314. ElseIf Shift = fmCtrlMask Then
  315. Call MakeRectangle(210, 297)
  316. Else
  317. Call MakeRectangle(210, 297, True)
  318. End If
  319. End Sub
  320. Private Sub BT_108x86mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  321. If Button = 2 Then
  322. ElseIf Shift = fmCtrlMask Then
  323. Call MakeRectangle(108, 86)
  324. Else
  325. Call MakeRectangle(108, 86, True)
  326. End If
  327. End Sub
  328. Private Sub BT_86x108mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  329. If Button = 2 Then
  330. ElseIf Shift = fmCtrlMask Then
  331. Call MakeRectangle(86, 108)
  332. Else
  333. Call MakeRectangle(86, 108, True)
  334. End If
  335. End Sub
  336. Private Sub BT_127x89mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  337. If Button = 2 Then
  338. ElseIf Shift = fmCtrlMask Then
  339. Call MakeRectangle(127, 89)
  340. Else
  341. Call MakeRectangle(127, 89, True)
  342. End If
  343. End Sub
  344. Private Sub BT_89x127mm_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  345. If Button = 2 Then
  346. ElseIf Shift = fmCtrlMask Then
  347. Call MakeRectangle(89, 127)
  348. Else
  349. Call MakeRectangle(89, 127, True)
  350. End If
  351. End Sub
  352. '//////////////////////////////////
  353. ' 生成格式化字符串的函数
  354. Public Function GenerateFormattedString() As String
  355. Dim result As String
  356. Dim separator As String
  357. Dim size_xy As String
  358. Dim mtl As String
  359. separator = "-" ' 分隔符
  360. ' 构建各部分
  361. result = Trim(Text_SerialNumber.text) & separator & _
  362. Replace(Trim(Text_OrderNumber.text), "-", "") & separator & "@名片"
  363. ' 添加材质(如果选择了)
  364. If Combo_Material.ListIndex >= 0 Then
  365. mtl = Combo_Material.text
  366. If mtl = "亮" Then mtl = "过"
  367. result = result & "_" & mtl
  368. End If
  369. ' 添加尺寸(如果有)
  370. If DIY_SIZE(1) > 10 And DIY_SIZE(2) > 10 Then
  371. size_xy = DIY_SIZE(1) & "X" & DIY_SIZE(2)
  372. If size_xy = "89X58" Then
  373. size_xy = Replace(size_xy, "89X58", "85X54")
  374. End If
  375. If size_xy = "58X89" Then
  376. size_xy = Replace(size_xy, "58X89", "54X85")
  377. End If
  378. result = result & "_" & size_xy
  379. End If
  380. ' 添加单双面(如果选择了)
  381. If Combo_Single_Double.ListIndex >= 0 Then
  382. ' 去掉前后的下划线(如果不需要的话)
  383. Dim singleDouble As String
  384. singleDouble = Combo_Single_Double.text
  385. singleDouble = Replace(singleDouble, "_", "")
  386. result = result & "_" & singleDouble
  387. End If
  388. ' 添加数量(如果选择了)
  389. If Combo_Quantity.ListIndex >= 0 Then
  390. ' 去掉括号和下划线
  391. Dim quantity As String
  392. quantity = Combo_Quantity.text
  393. quantity = Replace(quantity, "_", "")
  394. result = result & "_数量" & quantity
  395. End If
  396. ' 添加款数(如果选择了)
  397. If Combo_StyleCount.ListIndex >= 0 Then
  398. result = result & "_" & Combo_StyleCount.text & "款"
  399. End If
  400. ' 添加工艺(如果选择了且不是空项)
  401. If Combo_Process.ListIndex >= 1 Then
  402. Dim processText As String
  403. processText = Combo_Process.text
  404. ' 去掉前导下划线
  405. If Left(processText, 1) = "_" Then
  406. processText = Mid(processText, 2)
  407. End If
  408. result = result & "_" & processText
  409. End If
  410. GenerateFormattedString = result
  411. End Function
  412. Private Sub BT_ReadFileName_Click()
  413. ' Dim clipText As String
  414. ' 从剪贴板获取文本
  415. ' clipText = GetClipBoardString()
  416. ' 检查剪贴板内容是否为空
  417. ' If clipText = "" Or clipText = vbNullString Then
  418. ' CDRX4_FileName.text = "请先准备好文件名文字复制到剪贴板"
  419. ' Else
  420. ' CDRX4_FileName.text = clipText
  421. ' End If
  422. ' 验证必填项
  423. If Trim(Text_SerialNumber.text) = "" Then
  424. MsgBox "请填写编号", vbExclamation
  425. Text_SerialNumber.SetFocus
  426. Exit Sub
  427. End If
  428. If Trim(Text_OrderNumber.text) = "" Then
  429. MsgBox "请填写订单号", vbExclamation
  430. Text_OrderNumber.SetFocus
  431. Exit Sub
  432. End If
  433. ' 生成格式化字符串
  434. Dim formattedText As String
  435. formattedText = GenerateFormattedString()
  436. ' 显示结果(可以根据需要复制到剪贴板或显示在文本框中)
  437. ' MsgBox "生成的格式:" & vbCrLf & vbCrLf & formattedText, vbInformation
  438. CDRX4_FileName.text = formattedText
  439. End Sub
  440. Private Sub ClearText_OrderNumber_FileName()
  441. On Error Resume Next
  442. CDRX4_FileName.text = ""
  443. Text_OrderNumber.text = ""
  444. '// 填加重置 工艺 和 自定义尺寸到默认
  445. Combo_Material.ListIndex = 0
  446. SIZE_WIDTH.text = ""
  447. SIZE_HEIGHT.text = ""
  448. End Sub
  449. Private Sub BT_SaveCDRX4_Click()
  450. file = "D:\Cards\CDR保存CDR文件\" & CDRX4_FileName.text & ".cdr"
  451. Save_CdrX4_File (file)
  452. ClearText_OrderNumber_FileName
  453. End Sub
  454. Private Sub Photo_Import_Click()
  455. Call Import_Images
  456. End Sub
  457. Private Sub PWC_Extract_Click()
  458. Call PowerClip_ExtractShapes
  459. End Sub
  460. Private Sub SIZE_WIDTH_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  461. Dim Numbers As String
  462. Numbers = "1234567890"
  463. If InStr(Numbers, Chr(KeyAscii)) = 0 Then
  464. KeyAscii = 0
  465. End If
  466. End Sub
  467. ' 在KeyPress事件中只控制输入
  468. Private Sub SIZE_HEIGHT_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
  469. Dim Numbers As String
  470. Numbers = "1234567890"
  471. If InStr(Numbers, Chr(KeyAscii)) = 0 Then
  472. KeyAscii = 0
  473. End If
  474. End Sub
  475. ' 新增Change事件处理
  476. Private Sub SIZE_HEIGHT_Change()
  477. UpdateSizePreview
  478. End Sub
  479. Private Sub SIZE_WIDTH_Change()
  480. UpdateSizePreview
  481. End Sub
  482. ' 统一更新函数
  483. Private Sub UpdateSizePreview()
  484. On Error Resume Next
  485. Dim sx As Integer, sy As Integer
  486. ' 转换为整数
  487. sx = CInt(SIZE_WIDTH.value)
  488. sy = CInt(SIZE_HEIGHT.value)
  489. ' 检查有效值
  490. If sx > 29 And sy > 29 Then
  491. Dim txt As String
  492. txt = sx & "x" & sy & "mm"
  493. BT_DIY_SIZE.Caption = txt
  494. DIY_SIZE(1) = sx
  495. DIY_SIZE(2) = sy
  496. flag_size = True
  497. Else
  498. BT_DIY_SIZE.Caption = "自定义尺寸"
  499. flag_size = False
  500. End If
  501. End Sub
  502. Private Sub BT_DIY_SIZE_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  503. If BT_DIY_SIZE.Caption = "自定义尺寸" Then
  504. Exit Sub
  505. End If
  506. Dim sx As Double
  507. Dim sy As Double
  508. If flag_size = True Then
  509. sx = DIY_SIZE(1)
  510. sy = DIY_SIZE(2)
  511. End If
  512. If Button = 2 Then
  513. ElseIf Shift = fmCtrlMask Then
  514. Call MakeRectangle(sx, sy)
  515. Else
  516. Call MakeRectangle(sx, sy, True)
  517. End If
  518. End Sub
  519. Private Sub BT_GET_Size_Click()
  520. ActiveDocument.Unit = cdrMillimeter
  521. Set sr = ActiveSelectionRange
  522. sx = sr.SizeWidth: sy = sr.SizeHeight
  523. sx = Int(sx + 0.5): sy = Int(sy + 0.5)
  524. txt = sx & "x" & sy & "mm"
  525. BT_DIY_SIZE.Caption = txt
  526. DIY_SIZE(1) = sx
  527. DIY_SIZE(2) = sy
  528. flag_size = True
  529. End Sub