{"id":1311,"date":"2023-07-15T00:35:23","date_gmt":"2023-07-15T00:35:23","guid":{"rendered":"https:\/\/262235.xyz\/?p=1311"},"modified":"2023-07-23T22:33:15","modified_gmt":"2023-07-23T14:33:15","slug":"1311","status":"publish","type":"post","link":"https:\/\/lyvba.com\/index.php\/2023\/07\/15\/1311\/","title":{"rendered":"CorelDRAW X4 \u6279\u91cf\u6807\u6ce8\u529f\u80fd\u4fee\u590d\u53ef\u7528"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/lyvba.com\/wp-content\/uploads\/2023\/07\/61172554.webp\" alt=\"CDR_X4.webp\" title=\"CDR_X4.webp\" \/><\/p>\n<h2><a href=\"https:\/\/b23.tv\/IVimzaw\">\u3010CorelDRAW_X4 \u6279\u91cf\u6807\u6ce8\u529f\u80fd\u4fee\u590d\u53ef\u7528 \u9700\u8981Lanya\u6392\u5e8f\u7b97\u6cd5\u5e93-\u54d4\u54e9\u54d4\u54e9\u3011<\/a><\/h2>\n<p><a href=\"https:\/\/b23.tv\/IVimzaw\">https:\/\/b23.tv\/IVimzaw<\/a><\/p>\n<h2>CorelDRAW X4 \u548c X6\u7b49\u9ad8\u7248\u672c \u4f7f\u7528VBA \u7f16\u7a0b\u6807\u6ce8\u5c3a\u5bf8\uff0c\u4ee3\u7801\u4e0a\u6709\u4e9b\u4e0d\u540c\uff0c\u4e0b\u9762\u7684\u4ee3\u7801\u793a\u4f8b\u5199\u4e86\u4e0d\u540c\u7684\u5206\u652f<\/h2>\n<pre><code>#If VBA7 Then\n  sr.Sort @shape1.left &lt; @shape2.left\n#Else\n  Set sr = X4_Sort_ShapeRange(sr, stlx)\n#End If\n  For i = 1 To sr.Count - 1\n    x1 = sr(i + 1).CenterX\n    y1 = sr(i + 1).CenterY\n    x2 = sr(i).CenterX\n    y2 = sr(i).CenterY\n\n    Set pts = CreateSnapPoint(x1, y1)\n    Set pte = CreateSnapPoint(x2, y2)\n#If VBA7 Then\n    Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionSlanted, pts, pte, True, x1 - 20, y1 + 20, cdrDimensionStyleEngineering)\n#Else\n&#039; X4  There is a difference\n    Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionSlanted, pts, pte, True, (x1 + x2) \/ 2, (y1 + y2) \/ 2, cdrDimensionStyleEngineering, Textsize:=18)\n#End If\n    Dimension_SetProperty sh, PresetProperty.value\n  Next i<\/code><\/pre>\n<h2>CorelDRAW X4 \u548c\u9ad8\u7248\u672c\u4e0d\u540c\uff0c\u6ca1\u6709 <code>ShapeRange<\/code> \u7684\u6392\u5e8f\uff0c\u6240\u4ee5\u81ea\u5df1\u4f7f\u7528C++\u5199\u4e86\u4e00\u4e2a\u901a\u7528\u6392\u5e8f\u5e93\u7ed9 CorelDRAW\u7528<\/h2>\n<ul>\n<li>\n<p>X4_Sort_ShapeRange(os, stlx) \u5c31\u662f\u8c03\u7528 <code>lyvba32.dll<\/code> \u7684\u6392\u5e8f\u7684<\/p>\n<pre><code>Sub make_sizes_sep(dr, Optional shft = 0, Optional ByVal mirror As Boolean = False)\nOn Error GoTo ErrorHandler\nAPI.BeginOpt Make Size\nSet doc = ActiveDocument\nDim s As Shape, sh As Shape\nDim pts As New SnapPoint, pte As New SnapPoint\nDim os As ShapeRange\n\nSet os = ActiveSelectionRange\n\nDim border As Variant\nDim Line_len As Double\nIf shft > 1 Then\nLine_len = API.Set_Space_Width  '\/\/ \u8bbe\u7f6e\u6587\u5b57\u7a7a\u95f4\u95f4\u9699\nElse\nLine_len = API.Set_Space_Width(True)  '\/\/ \u53ea\u8bfb\u6587\u5b57\u7a7a\u95f4\u95f4\u9699\nEnd If\n\nborder = Array(cdrBottomRight, cdrBottomLeft, os.TopY + Line_len, os.TopY + 2 * Line_len, _\ncdrBottomRight, cdrTopRight, os.LeftX - Line_len, os.LeftX - 2 * Line_len)\n\nIf mirror = True Then border = Array(cdrTopRight, cdrTopLeft, os.BottomY - Line_len, os.BottomY - 2 * Line_len, _\ncdrBottomLeft, cdrTopLeft, os.RightX + Line_len, os.RightX + 2 * Line_len)\n\n#If VBA7 Then\nIf dr = upbx Or dr = upb Or dr = dnb Or dr = up Or dr = dn Then os.Sort @shape1.left < @shape2.left\nIf dr = lfbx Or dr = lfb Or dr = rib Or dr = lf Or dr = ri Then os.Sort @shape1.top > @shape2.top\n#Else\nIf dr = upbx Or dr = upb Or dr = dnb Or dr = up Or dr = dn Then Set os = X4_Sort_ShapeRange(os, stlx)\nIf dr = lfbx Or dr = lfb Or dr = rib Or dr = lf Or dr = ri Then Set os = X4_Sort_ShapeRange(os, stty).ReverseRange\n#End If\n\nIf os.Count > 0 Then\nIf os.Count > 1 And Len(dr) > 2 And os.Shapes.Count > 1 Then\n  For i = 1 To os.Shapes.Count - 1\n    Select Case dr\n      Case upbx\n#If VBA7 Then\n        Set pts = os.Shapes(i).SnapPoints.BBox(border(0))\n        Set pte = os.Shapes(i + 1).SnapPoints.BBox(border(1))\n        Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionHorizontal, pts, pte, True, 0, border(2), cdrDimensionStyleEngineering)\n\n        If shft > 0 And i = 1 Then\n          Dimension_SetProperty sh, PresetProperty.value\n          Set pts = os.FirstShape.SnapPoints.BBox(border(0))\n          Set pte = os.LastShape.SnapPoints.BBox(border(1))\n          Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionHorizontal, pts, pte, True, 0, border(3), cdrDimensionStyleEngineering)\n        End If\n\n      Case lfbx\n        Set pts = os.Shapes(i).SnapPoints.BBox(border(4))\n        Set pte = os.Shapes(i + 1).SnapPoints.BBox(border(5))\n        Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionVertical, pts, pte, True, border(6), 0, cdrDimensionStyleEngineering)\n\n        If shft > 0 And i = 1 Then\n          Dimension_SetProperty sh, PresetProperty.value\n          Set pts = os.FirstShape.SnapPoints.BBox(border(4))\n          Set pte = os.LastShape.SnapPoints.BBox(border(5))\n          Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionVertical, pts, pte, True, border(7), 0, cdrDimensionStyleEngineering)\n        End If\n#Else\n' X4  There is a difference\n        Set pts = CreateSnapPoint(os.Shapes(i).CenterX, os.Shapes(i).CenterY)\n        Set pte = CreateSnapPoint(os.Shapes(i + 1).CenterX, os.Shapes(i + 1).CenterY)\n        Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionHorizontal, pts, pte, True, 0, border(2), Textsize:=18)\n\n      Case lfbx\n        Set pts = CreateSnapPoint(os.Shapes(i).CenterX, os.Shapes(i).CenterY)\n        Set pte = CreateSnapPoint(os.Shapes(i + 1).CenterX, os.Shapes(i + 1).CenterY)\n        Set sh = ActiveLayer.CreateLinearDimension(cdrDimensionVertical, pts, pte, True, border(6), 0, Textsize:=18)\n#End If<\/code><\/pre>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u3010CorelDRAW_X4 \u6279\u91cf\u6807\u6ce8\u529f\u80fd\u4fee\u590d\u53ef\u7528 \u9700\u8981Lanya\u6392\u5e8f\u7b97\u6cd5\u5e93-\u54d4\u54e9\u54d4\u54e9\u3011 https: [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1368,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[12],"tags":[74,67],"class_list":["post-1311","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-learn","tag-coreldraw","tag-vba"],"_links":{"self":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts\/1311","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/comments?post=1311"}],"version-history":[{"count":1,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts\/1311\/revisions"}],"predecessor-version":[{"id":1369,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/posts\/1311\/revisions\/1369"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/media\/1368"}],"wp:attachment":[{"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/media?parent=1311"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/categories?post=1311"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/lyvba.com\/index.php\/wp-json\/wp\/v2\/tags?post=1311"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}