{"id":1373,"date":"2026-09-29T23:17:49","date_gmt":"2026-09-29T14:17:49","guid":{"rendered":"https:\/\/cg-method.com\/photoshop\/?p=1373"},"modified":"2026-10-03T03:43:31","modified_gmt":"2026-10-02T18:43:31","slug":"photoshop-scriptui-dialog","status":"publish","type":"post","link":"https:\/\/cg-method.com\/photoshop\/photoshop-scriptui-dialog\/","title":{"rendered":"Photoshop\u306eScriptUI\u3067\u5165\u529b\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u4f5c\u308b\uff5c\u4ef6\u6570\u30fb\u30d7\u30ec\u30d3\u30e5\u30fc\u30fb\u30ad\u30e3\u30f3\u30bb\u30eb"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">ScriptUI\u306f\u3001ExtendScript\u306eJSX\u306b\u5165\u529b\u6b04\u3084\u30dc\u30bf\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u672c\u7a3f\u306e\u4f8b\u306f\u3001\u63a5\u982d\u8f9e\u3068\u4ef6\u6570\u304b\u3089\u4e88\u5b9a\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u8868\u793a\u3059\u308b\u30d7\u30ec\u30d3\u30e5\u30fc\u5c02\u7528\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u753b\u50cf\u3092\u958b\u304f\u3001\u66f8\u304d\u51fa\u3059\u3001\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb\u3092\u6539\u540d\u3059\u308b\u51e6\u7406\u306f\u542b\u307f\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5165\u529b\u3068\u671f\u5f85\u3059\u308b\u8868\u793a<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/cg-method.com\/photoshop\/wp-content\/uploads\/2026\/10\/cgm-photoshop-workflow-copies-practice-02.zip\">\u7df4\u7fd2ZIP<\/a>\u306earticle-1373.jsx\u3092\u4f7f\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prefix\u3078cgm_\u3001Count\u30783\u3092\u5165\u529b\u3057\u3066Preview\u3092\u62bc\u3059\u3068\u3001cgm_001.png\u3001cgm_002.png\u3001cgm_003.png\u304c\u8868\u793a\u3055\u308c\u308b\u4f8b\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PNG\u30d5\u30a1\u30a4\u30eb\u304c\u4f5c\u3089\u308c\u308b\u308f\u3051\u3067\u306f\u306a\u3044\u305f\u3081\u3001\u4fdd\u5b58\u5148\u3092\u63a2\u3057\u3066\u51fa\u529b\u6210\u529f\u3092\u5224\u65ad\u3057\u306a\u3044\u3067\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u4ef6\u6570\u306f1\u301c100\u306e\u6574\u6570\u3001\u63a5\u982d\u8f9e\u306f\u5148\u982d\u304c\u82f1\u5b57\u306e1\u301c20\u6587\u5b57\u306b\u9650\u5b9a\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u63a5\u982d\u8f9e\u3067\u4f7f\u3048\u308b\u306e\u306f\u534a\u89d2\u82f1\u6570\u5b57\u3001\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3001\u30cf\u30a4\u30d5\u30f3\u3067\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u5236\u9650\u306f\u7df4\u7fd2\u30b5\u30f3\u30d7\u30eb\u306e\u5165\u529b\u898f\u5247\u3067\u3001ScriptUI\u81ea\u4f53\u304c\u65e5\u672c\u8a9e\u5165\u529b\u306b\u5bfe\u5fdc\u3057\u306a\u3044\u3068\u3044\u3046\u610f\u5473\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u5165\u529b\u78ba\u8a8d\u3068\u9032\u6357\u30d0\u30fc\u306eJSX\u30b3\u30fc\u30c9<\/h2>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism line-numbers lang-js\"><code>#target photoshop\n(function () {\n    var w = new Window(&quot;dialog&quot;, &quot;Filename preview (no files are changed)&quot;);\n    if (!w) { alert(&quot;Could not create the dialog.&quot;); return; }\n    w.orientation = &quot;column&quot;;\n    w.alignChildren = &quot;fill&quot;;\n    var g = w.add(&quot;group&quot;);\n    g.add(&quot;statictext&quot;, undefined, &quot;Prefix:&quot;);\n    var prefix = g.add(&quot;edittext&quot;, undefined, &quot;cgm_&quot;);\n    prefix.characters = 20;\n    var g2 = w.add(&quot;group&quot;);\n    g2.add(&quot;statictext&quot;, undefined, &quot;Count (1-100):&quot;);\n    var count = g2.add(&quot;edittext&quot;, undefined, &quot;3&quot;);\n    count.characters = 5;\n    var bar = w.add(&quot;progressbar&quot;, undefined, 0, 100);\n    bar.preferredSize.width = 300;\n    var output = w.add(&quot;edittext&quot;, undefined, &quot;&quot;, {multiline: true, readonly: true});\n    output.preferredSize = [300, 150];\n    var status = w.add(&quot;statictext&quot;, undefined, &quot;Preview only. No files are created.&quot;);\n    var buttons = w.add(&quot;group&quot;);\n    var ok = buttons.add(&quot;button&quot;, undefined, &quot;Preview&quot;, {name: &quot;ok&quot;});\n    var cancel = buttons.add(&quot;button&quot;, undefined, &quot;Close \/ cancel&quot;, {name: &quot;cancel&quot;});\n    w.defaultElement = ok;\n    w.cancelElement = cancel;\n    var running = false, cancelled = false;\n    function stop() {\n        if (running) cancelled = true;\n        else w.close(2);\n    }\n    cancel.onClick = stop;\n    w.onClose = function () {\n        if (running) { cancelled = true; return false; }\n        return true;\n    };\n    ok.onClick = function () {\n        if (running) return;\n        if (!\/^[A-Za-z][A-Za-z0-9_-]{0,19}$\/.test(prefix.text)) {\n            alert(&quot;Prefix: use 1-20 ASCII letters, digits, underscores or hyphens; start with a letter.&quot;);\n            return;\n        }\n        if (!\/^(?:[1-9][0-9]?|100)$\/.test(count.text)) {\n            alert(&quot;Count: enter an integer from 1 to 100.&quot;);\n            return;\n        }\n        var n = Number(count.text), names = [];\n        running = true; cancelled = false;\n        ok.enabled = prefix.enabled = count.enabled = false;\n        bar.maxvalue = n; bar.value = 0; output.text = &quot;&quot;;\n        try {\n            for (var i = 1; i &lt;= n; i++) {\n                if (cancelled) break;\n                names.push(prefix.text + (&quot;000&quot; + i).slice(-3) + &quot;.png&quot;);\n                bar.value = i;\n                status.text = &quot;Preview &quot; + i + &quot; \/ &quot; + n;\n                w.update();\n            }\n            if (!cancelled) {\n                output.text = names.join(&quot;\\n&quot;);\n                status.text = &quot;Previewed &quot; + names.length + &quot; names. No files were changed.&quot;;\n            }\n        } catch (e) {\n            output.text = &quot;&quot;;\n            status.text = &quot;Preview failed: &quot; + e.message;\n        } finally {\n            running = false;\n            ok.enabled = prefix.enabled = count.enabled = true;\n        }\n        if (cancelled) w.close(2);\n    };\n    w.show();\n}());\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\">\u5b9f\u884c\u3068\u30ad\u30fc\u30dc\u30fc\u30c9\u3067\u306e\u78ba\u8a8d<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Photoshop\u306e\uff3b\u30d5\u30a1\u30a4\u30eb\uff3d\u2192\uff3b\u30b9\u30af\u30ea\u30d7\u30c8\uff3d\u2192\uff3b\u53c2\u7167\uff3d\u304b\u3089article-1373.jsx\u3092\u9078\u3073\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30c0\u30a4\u30a2\u30ed\u30b0\u304c\u958b\u3044\u305f\u3089\u3001\u521d\u671f\u5024\u306ecgm_\u30683\u3067\u4e88\u5b9a\u540d\u3092\u78ba\u8a8d\u3057\u3001\u63a5\u982d\u8f9e\u3092demo-\u3001\u4ef6\u6570\u30922\u306b\u5909\u3048\u3066\u518d\u3073Preview\u3092\u62bc\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u8868\u793a\u304cdemo-001.png\u3001demo-002.png\u306e2\u884c\u3078\u5909\u308f\u308b\u3053\u3068\u3092\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tab\u3067\u5165\u529b\u6b04\u3068\u30dc\u30bf\u30f3\u306e\u30d5\u30a9\u30fc\u30ab\u30b9\u3092\u79fb\u3057\u3001Enter\u3067\u30d7\u30ec\u30d3\u30e5\u30fc\u3001Escape\u3067\u9589\u3058\u308b\u64cd\u4f5c\u3092\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">defaultElement\u3068cancelElement\u3092\u660e\u793a\u3057\u3066\u3001\u305d\u306e\u5f79\u5272\u3092\u6307\u5b9a\u3057\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5165\u529b\u4e2d\u306e\u30ad\u30fc\u52d5\u4f5c\u306f\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306b\u3088\u308b\u305f\u3081\u3001\u5b9f\u969b\u306e\u753b\u9762\u3067\u3082\u78ba\u8a8d\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th style=\"min-width:8em !important\">\u8a66\u3059\u5165\u529b\u30fb\u64cd\u4f5c<\/th><th style=\"min-width:8em !important\">\u78ba\u8a8d\u3059\u308b\u7d50\u679c<\/th><\/tr><\/thead><tbody><tr><td>Count\u304c0\u30fb101\u30fb\u5c0f\u6570\u30fb\u7a7a\u6b04<\/td><td>\u30a8\u30e9\u30fc\u3092\u8868\u793a\u3057\u3001\u4e88\u5b9a\u540d\u3092\u751f\u6210\u3057\u306a\u3044<\/td><\/tr><tr><td>\u63a5\u982d\u8f9e\u304c\u7a7a\u30fb\u30d1\u30b9\u8a18\u53f7\u3092\u542b\u3080<\/td><td>\u5165\u529b\u898f\u5247\u306e\u30a8\u30e9\u30fc\u3092\u8868\u793a\u3059\u308b<\/td><\/tr><tr><td>Close \/ cancel<\/td><td>\u30d7\u30ec\u30d3\u30e5\u30fc\u524d\u306a\u3089\u9589\u3058\u308b\u3002\u30eb\u30fc\u30d7\u4e2d\u306f\u30ad\u30e3\u30f3\u30bb\u30eb\u3092\u8981\u6c42<\/td><\/tr><tr><td>\u518d\u3073Preview\u3092\u62bc\u3059<\/td><td>\u524d\u306e\u4e88\u5b9a\u540d\u3092\u7f6e\u304d\u63db\u3048\u3066\u3001\u5165\u529b\u304b\u3089\u4f5c\u308a\u76f4\u3059<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\u9032\u6357\u8868\u793a\u3068\u30ad\u30e3\u30f3\u30bb\u30eb\u306e\u4ed5\u7d44\u307f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u4e88\u5b9a\u540d\u30921\u500b\u4f5c\u308b\u305f\u3073\u306bbar.value\u3092\u66f4\u65b0\u3057\u3001\u898b\u3048\u3066\u3044\u308b\u30c0\u30a4\u30a2\u30ed\u30b0\u3067w.update\u3092\u547c\u3073\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Adobe\u306eTools Guide\u3067\u306f\u3001update\u306f\u518d\u63cf\u753b\u3068\u4e00\u90e8\u306e\u5165\u529b\u30a4\u30d9\u30f3\u30c8\u3092\u51e6\u7406\u3059\u308b\u305f\u3081\u306e\u30e1\u30bd\u30c3\u30c9\u3068\u8aac\u660e\u3055\u308c\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ad\u30e3\u30f3\u30bb\u30eb\u8981\u6c42\u3092\u5909\u6570\u306b\u6b8b\u3057\u3001\u6b21\u306e\u53cd\u5fa9\u3078\u9032\u3080\u524d\u306b\u78ba\u8a8d\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u4f8b\u306e\u540d\u524d\u751f\u6210\u306f\u77ed\u6642\u9593\u3067\u7d42\u308f\u308b\u305f\u3081\u3001\u9032\u6357\u30d0\u30fc\u306e\u9014\u4e2d\u72b6\u614b\u304c\u76ee\u306b\u898b\u3048\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u9577\u3044\u753b\u50cf\u51e6\u7406\u306b\u7d44\u307f\u8fbc\u3080\u5834\u5408\u306f\u3001\u5b9f\u969b\u306b\u5b8c\u4e86\u3057\u305f\u753b\u50cf\u6570\u3092\u9032\u6357\u3078\u53cd\u6620\u3057\u3001\u5931\u6557\u4ef6\u6570\u3068\u90e8\u5206\u7684\u306a\u51fa\u529b\u306e\u6271\u3044\u3092\u5225\u306b\u5b9f\u88c5\u3057\u3066\u304f\u3060\u3055\u3044\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d0\u30fc\u304c100\u306b\u306a\u308b\u3053\u3068\u3060\u3051\u3067\u3001\u753b\u50cf\u51e6\u7406\u306e\u6210\u529f\u3092\u793a\u3059\u3053\u3068\u306f\u3067\u304d\u307e\u305b\u3093\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u975e\u8868\u793a\u306e\u30a6\u30a3\u30f3\u30c9\u30a6\u306bupdate\u3092\u547c\u3070\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30ad\u30e3\u30f3\u30bb\u30eb\u4e2d\u306f\u63cf\u753b\u30eb\u30fc\u30d7\u3092\u5148\u306b\u6b62\u3081\u3001finally\u3067\u5165\u529b\u72b6\u614b\u3092\u623b\u3057\u3066\u304b\u3089\u9589\u3058\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Photoshop\u306eScriptUI\u3067\u306fdialog\u3092\u4f7f\u3044\u3001palette\u3084window\u3092\u4f7f\u3046\u4ed6\u30a2\u30d7\u30ea\u306e\u4f8b\u3092\u305d\u306e\u307e\u307e\u79fb\u3055\u306a\u3044\u3088\u3046\u306b\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u78ba\u8a8d\u7bc4\u56f2\u3068\u516c\u5f0f\u8cc7\u6599<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">2026\u5e7410\u67083\u65e5\u306b\u3001<a href=\"https:\/\/github.com\/Adobe-CEP\/CEP-Resources\/blob\/master\/ExtendScript-Toolkit\/Guides\/JavaScript%20Tools%20Guide%20CC.pdf\">Adobe\u516c\u958b\u306eJavaScript Tools Guide CC<\/a>\u306eWindow\u3001\u5165\u529b\u30a4\u30d9\u30f3\u30c8\u3001progressbar\u3001update\u3092\u78ba\u8a8d\u3057\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u5165\u529b\u691c\u67fb\u30fb\u4e88\u5b9a\u540d\u30fb\u30ad\u30e3\u30f3\u30bb\u30eb\u306e\u5236\u5fa1\u51e6\u7406\u306f\u660e\u793a\u7684\u30e2\u30c3\u30af\u3067\u78ba\u8a8d\u3057\u3066\u3044\u307e\u3059\u304c\u3001Photoshop\u5b9f\u6a5f\u306e\u63cf\u753b\u3001\u30d5\u30a9\u30fc\u30ab\u30b9\u3001\u30ad\u30fc\u64cd\u4f5c\u306f\u672a\u691c\u8a3c\u3067\u3059\u3002<\/p>\n\n\n","protected":false},"excerpt":{"rendered":"<p>ScriptUI\u306f\u3001ExtendScript\u306eJSX\u306b\u5165\u529b\u6b04\u3084\u30dc\u30bf\u30f3\u3092\u8ffd\u52a0\u3059\u308b\u4ed5\u7d44\u307f\u3067\u3059\u3002 \u672c\u7a3f\u306e\u4f8b\u306f\u3001\u63a5\u982d\u8f9e\u3068\u4ef6\u6570\u304b\u3089\u4e88\u5b9a\u30d5\u30a1\u30a4\u30eb\u540d\u3092\u8868\u793a\u3059\u308b\u30d7\u30ec\u30d3\u30e5\u30fc\u5c02\u7528\u3067\u3059\u3002 \u753b\u50cf\u3092\u958b\u304f\u3001\u66f8\u304d\u51fa\u3059\u3001\u65e2\u5b58\u30d5\u30a1\u30a4\u30eb\u3092\u6539\u540d\u3059\u308b\u51e6\u7406\u306f\u542b\u307f [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1374,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"swell_btn_cv_data":"","ssp_meta_description":"ScriptUI\u306e\u5165\u529b\u6b04\u3001\u30dc\u30bf\u30f3\u3001\u9032\u6357\u30d0\u30fc\u3092\u4f7f\u3046JSX\u3002\u63a5\u982d\u8f9e\u3068\u4ef6\u6570\u304b\u3089\u4e88\u5b9a\u540d\u3060\u3051\u3092\u8868\u793a\u3057\u3001\u5165\u529b\u30a8\u30e9\u30fc\u3068\u30ad\u30e3\u30f3\u30bb\u30eb\u3092\u6271\u3046\u30b5\u30f3\u30d7\u30eb\u3092\u89e3\u8aac\u3057\u307e\u3059\u3002","ssp_meta_title":"Photoshop\u306eScriptUI\u3067\u5165\u529b\u30c0\u30a4\u30a2\u30ed\u30b0\u3092\u4f5c\u308b\uff5c\u4ef6\u6570\u30fb\u30d7\u30ec\u30d3\u30e5\u30fc\u30fb\u30ad\u30e3\u30f3\u30bb\u30eb","ssp_meta_robots":"","ssp_meta_canonical":"","ssp_meta_image":"","ssp_meta_keyword":"","book_review_data":"","footnotes":""},"categories":[19],"tags":[],"class_list":["post-1373","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-extendscript"],"_links":{"self":[{"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/posts\/1373","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/comments?post=1373"}],"version-history":[{"count":2,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/posts\/1373\/revisions"}],"predecessor-version":[{"id":1407,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/posts\/1373\/revisions\/1407"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/media\/1374"}],"wp:attachment":[{"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/media?parent=1373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/categories?post=1373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cg-method.com\/photoshop\/wp-json\/wp\/v2\/tags?post=1373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}