
ãIllustratorãã¢ãŒãããŒãè€è£œïŒããŒã¿æµã蟌ã¿ãèªååããã¹ã¯ãªããïŒCSV/TSV察å¿ïŒ
Illustratorã«ã¯ãããŒã¿çµåïŒå€æ°ïŒãæ©èœããããŸããããã³ãã¬ãŒãã®ã¢ãŒãããŒããèªåè€è£œããªããæµãèŸŒãæ©èœããããŸããïŒã¢ã¯ã·ã§ã³ã掻çšããã°äžå¿å¯èœã§ãããæéãããããŸãïŒã
ãã®èª²é¡ã解決ããæ±ºå®çãšããŠã0.5ç§ãç©ã¿äžãã ãããã¹ã¯ãªãããDataMerge EXCELLENTããå ¬éãããŠããŸãã
ãããŸã§éåžžã«éå®ããŠããã®ã§ãããããå°ãã·ã³ãã«ãªæ©èœã®ãã®ã欲ããã£ããããèªäœããŠã¿ãŸããã
ð¡ èªäœããçç±ïŒæ¹åãããã£ãç¹ïŒ
ãŸããæ¬¡ã®ãããªäžæºããã£ããããèªäœããŠã¿ãŸããã
ãã€ã¢ãã°ããã¯ã¹ã®ãµã€ãºãã³ã³ãã¯ãã«ããã
æ©èœãã·ã³ãã«ã«ããŠãããçŽæçã«äœ¿ããã
â»0.5ç§ãç©ã¿äžããããã®ã¹ã¯ãªããã¯ãç»åã®é 眮ã«ã察å¿ããŠãããªã©éåžžã«é«æ©èœã§çŽ æŽããããã®ã§ãã
æŠèŠã»äœ¿ãæ¹
ã¿ãåºåãããã¹ãïŒ.txtïŒãŸãã¯CSVãã¡ã€ã«ãIllustratoräžã®ããã¹ãã«çŽä»ããããŒã¿ãæµã蟌ã¿ãªããã¢ãŒãããŒãåäœã§èªåè€è£œããŸãã

1. Illustratorãã¡ã€ã«ã®æºå
Illustratorã§ãã³ãã¬ãŒããšãªãã¢ãŒãããŒããçšæããŸãã
ããŒã¿ãå·®ãæ¿ãããããã¹ãéšåã <éé¡> ã®ããã«å±±ãã£ãã§å²ã¿ãŸãïŒâ»ãã£ãã¯åè§ïŒã

2. æµã蟌ã¿çšã®ããŒã¿ã®æºå
ã¿ãåºåãããã¹ãïŒ.txtïŒãŸãã¯CSVãã¡ã€ã«ãçšæããIllustratorãã¡ã€ã«ãšåããã©ã«ãïŒãã£ã¬ã¯ããªïŒã«ä¿åããŸãã
1è¡ç®ã«ã¯é ç®åïŒããããŒïŒãå ¥åããŸãã
éé¡ çšæéé¡ æ¶è²»çšé¡ é åæžã®å®å ãåå ã¡ãŒã«ã¢ãã¬ã¹
Â¥11,000 Â¥10,000 Â¥1,000 ãµã³ãã«æ ªåŒäŒç€Ÿ åŸ¡äž tanaka tanaka@example.com
Â¥22,000 Â¥20,000 Â¥2,000 ãã¢ååäŒç€Ÿ æ§ suzuki suzuki@example.netã¹ã¯ãªãããå®è¡ãããšãåããã©ã«ãå ã®ããŒã¿ãèªåçã«èªã¿èŸŒãŸããŸãã
è€æ°ã®ããŒã¿ãã¡ã€ã«ãããå Žåã¯ããã€ã¢ãã°ã®ããããããŠã³ã¡ãã¥ãŒããéžæã§ããŸãã
3. ã¹ã¯ãªãããå®è¡
ã¹ã¯ãªãããå®è¡ãããšèšå®ãã€ã¢ãã°ãéããŸãã

å¿ èŠã«å¿ããŠãã¢ãŒãããŒãåã«äœ¿çšããé ç®ãããæšªã«äžŠã¹ãæ°ïŒé çœ®åæ°ïŒããèšå®ããŸãã
å®è¡ïŒœ ãã¿ã³ãã¯ãªãã¯ãããšãã¢ãŒãããŒããèªåçæãããããã¹ãã®æµã蟌ã¿ãå®äºããŸãã
æžå¿µäºé
ç»åã®é 眮ã«ã¯å¯Ÿå¿ããŠããŸããã
ã¹ã¯ãªãã
以äžã®ã³ãŒããã³ããŒããããã¹ããšãã£ã¿ã«ããŒã¹ãããŠä¿åããã ãã§ãç¡æã®ã¹ã¯ãªãããã¡ã€ã«ïŒ.jsxïŒãšããŠãã®ãŸãŸå®è¡ããã ããŸãã
äžãäžã®ãã©ãã«ïŒIllustratorã®åŒ·å¶çµäºãªã©ïŒã«åããã¹ã¯ãªãããå®è¡ããåã¯å¿ ãããã¥ã¡ã³ããä¿åããŠããã詊ããã ããã
èšäºæ«å°Ÿã®ææãšãªã¢ã§ã¯ãããã«äœ¿ããããŠã³ããŒãçšãã¡ã€ã«ãé åžããŠããŸãã
èšäºã®ååè³Œå ¥ããŸãã¯ãDTP Transit å®æè³Œèªãã¬ãžã³ïŒæé¡100åïŒããã賌èªããã ããšãä»åŸã®ã¹ã¯ãªããã®ã¢ããããŒãæ å ±ãåãåãããšãã§ããŸãã
(function() {
if (app.documents.length === 0) {
alert("ããã¥ã¡ã³ããéãããŠããŸããã");
return;
}
var doc = app.activeDocument;
var docPath;
try {
docPath = doc.path;
} catch (e) {
alert("ããã¥ã¡ã³ããä¿åããŠããå®è¡ããŠãã ããã");
return;
}
var folder = new Folder(docPath);
var files = folder.getFiles(/\.(txt|csv)$/i);
if (files.length === 0) {
alert("åãéå±€ã«.txtãŸãã¯.csvãã¡ã€ã«ãèŠã€ãããŸããã§ããã");
return;
}
// --- ã¡ã€ã³ãã€ã¢ãã° ---
var win = new Window("dialog", "ããŒã¿æµã蟌ã¿");
win.orientation = "column";
win.alignChildren = ["fill", "top"];
win.spacing = 10;
win.margins = 15;
var groupSelect = win.add("group");
groupSelect.add("statictext", undefined, "ãã¡ã€ã«:");
var dropdown = groupSelect.add("dropdownlist", undefined, []);
dropdown.size = [350, 25];
for (var i = 0; i < files.length; i++) dropdown.add("item", decodeURI(files[i].name));
var listContainer = win.add("group");
listContainer.alignment = ["fill", "fill"];
var listBox = null;
var settingsPanel = win.add("panel", undefined, "æµã蟌ã¿èšå®");
settingsPanel.orientation = "column";
settingsPanel.alignChildren = ["left", "top"];
settingsPanel.margins = 15;
var groupAbName = settingsPanel.add("group");
groupAbName.add("statictext", undefined, "ã¢ãŒãããŒãåã«äœ¿çšããé
ç®:");
var dropdownAbName = groupAbName.add("dropdownlist", undefined, []);
dropdownAbName.size = [200, 25];
var groupLayout = settingsPanel.add("group");
groupLayout.add("statictext", undefined, "暪ã«äžŠã¹ãæ°:");
var editCols = groupLayout.add("edittext", undefined, "10");
editCols.size = [50, 25];
groupLayout.add("statictext", undefined, "åã§æãè¿ã");
var groupBtn = win.add("group");
groupBtn.alignment = "right";
var btnCancel = groupBtn.add("button", undefined, "ãã£ã³ã»ã«", {name: "cancel"});
var btnRun = groupBtn.add("button", undefined, "å®è¡", {name: "ok"});
var tsvData = [];
var headers = [];
// --- CSV/TSV è§£æé¢æ° ---
function parseLine(line, delimiter) {
if (delimiter === "\t") return line.split("\t");
var parts = [], pattern = new RegExp("(\\" + delimiter + "|\\r?\\n|\\r|^)(?:\"([^\"]*(?:\"\"[^\"]*)*)\"|([^\"\\" + delimiter + "\\r\\n]*))", "gi");
var matches = null;
while (matches = pattern.exec(line)) {
parts.push(matches[2] ? matches[2].replace(/\"\"/g, "\"") : matches[3]);
}
return parts;
}
function updateListBox(fileObj) {
if (listBox !== null) listContainer.remove(listBox);
tsvData = [];
fileObj.open("r");
fileObj.encoding = "UTF-8";
var content = fileObj.read();
fileObj.close();
var lines = content.split(/[\r\n]+/);
if (lines.length === 0) return;
var delimiter = fileObj.name.toLowerCase().match(/\.csv$/) ? "," : "\t";
headers = parseLine(lines[0], delimiter);
dropdownAbName.removeAll();
for (var h = 0; h < headers.length; h++) dropdownAbName.add("item", headers[h]);
dropdownAbName.selection = 0;
listBox = listContainer.add("listbox", [0, 0, 550, 180], [], {
numberOfColumns: headers.length, showHeaders: true, columnTitles: headers
});
for (var i = 1; i < lines.length; i++) {
if (lines[i] === "") continue;
var cells = parseLine(lines[i], delimiter);
tsvData.push(cells);
var item = listBox.add("item", cells[0] || "");
for (var j = 1; j < cells.length; j++) {
if (j < headers.length) item.subItems[j-1].text = cells[j] || "";
}
}
win.layout.layout(true);
}
dropdown.onChange = function() { if (dropdown.selection) updateListBox(files[dropdown.selection.index]); };
dropdown.selection = 0;
// --- å®è¡åŠç ---
btnRun.onClick = function() {
if (tsvData.length === 0) return;
var nameIndex = dropdownAbName.selection.index;
var maxCols = parseInt(editCols.text) || 10;
win.close();
var progWin = new Window("palette", "åŠçäž...", undefined);
var progBar = progWin.add("progressbar", undefined, 0, tsvData.length);
progBar.preferredSize.width = 300;
progWin.show();
// éåœ¢ã®æ
å ±ãååŸ
var sourceAb = doc.artboards[0];
var abRect = sourceAb.artboardRect;
var w = abRect[2] - abRect[0];
var h = abRect[1] - abRect[3];
var margin = 50;
doc.selectObjectsOnActiveArtboard();
var sourceItems = doc.selection;
if (sourceItems.length === 0) {
progWin.close();
alert("é圢ã«ãªããžã§ã¯ãããããŸããã");
return;
}
// éèŠïŒ2ä»¶ç®(i=1)ããå
ã«åŠçããïŒã¿ã°ãç¶æããããïŒ
for (var i = 1; i < tsvData.length; i++) {
progBar.value = i;
progWin.update();
var col = i % maxCols;
var row = Math.floor(i / maxCols);
var offsetX = (w + margin) * col;
var offsetY = -(h + margin) * row;
var newAb = doc.artboards.add([
abRect[0] + offsetX, abRect[1] + offsetY,
abRect[2] + offsetX, abRect[3] + offsetY
]);
newAb.name = (tsvData[i][nameIndex] || "Data_" + (i+1)).toString();
for (var j = 0; j < sourceItems.length; j++) {
var newItem = sourceItems[j].duplicate();
newItem.translate(offsetX, offsetY);
replaceTextRecursive(newItem, headers, tsvData[i]);
}
}
// æåŸã«1ä»¶ç®(i=0)ãæžãæãã
progBar.value = tsvData.length;
progWin.update();
sourceAb.name = (tsvData[0][nameIndex] || "Data_1").toString();
for (var k = 0; k < sourceItems.length; k++) {
replaceTextRecursive(sourceItems[k], headers, tsvData[0]);
}
doc.selection = null;
progWin.close();
alert("å®äºïŒ\n" + tsvData.length + " ä»¶åŠçããŸããã");
};
function replaceTextRecursive(obj, keys, values) {
if (obj.typename === "TextFrame") {
for (var k = 0; k < keys.length; k++) {
var tag = "<" + keys[k] + ">";
if (obj.contents.indexOf(tag) !== -1) {
obj.contents = obj.contents.replace(tag, values[k] || "");
}
}
} else if (obj.typename === "GroupItem") {
for (var g = 0; g < obj.pageItems.length; g++) {
replaceTextRecursive(obj.pageItems[g], keys, values);
}
}
}
win.show();
})();éçºã®èæ¯ã»ããã³ããïŒGemini 3 ProïŒ
éçºã«ããã£ãŠã¯ Gemini 3 Pro ãæŽ»çšãã察話圢åŒã§ããã³ããã®ä¿®æ£ã»ãšã©ãŒåŠçãéããŠä»äžããŸããã
Illustratorã®ã¹ã¯ãªãããçŸåšéããŠããIllustratorãã¡ã€ã«ãšåãéå±€ã®TXTãã¡ã€ã«ãèªåçã«åç §ãããã€ã¢ãã°ããã¯ã¹å ã«è¡šç€º
衚ã£ãœãèŠããããŸããïŒ
çŸåšã®ã¢ãŒãããŒãäžã®ããã¹ãã調æ»ããTSVå ã®é ç®åãšçŽä»ã
â TSVã®é ç®åããéé¡ãã®å Žå ã¢ãŒãããŒãäžã®ããã¹ãã¯<éé¡>
å®è¡ïŒœãã¿ã³ãã¯ãªãã¯ããããã¢ãŒãããŒããè€è£œããŠæµãèŸŒã¿æµã蟌ã¿ã¯è¡ãããŸãããã¢ãŒãããŒããè€è£œããŠããæµã蟌ãŸããããã«ã§ããŸããïŒ
ããæãã§ãïŒ å°ã調æŽããé¡ãããŸãã
listboxã®1è¡åã¯1,2,3ã§ãªãã 1è¡ç®ãåç §ãã¢ãŒãããŒãåãã®ãããã¢ããã¡ãã¥ãŒã远å ã
èªã¿èŸŒãã ãã¡ã€ã«ã®é ç®åããéžæãããããã¢ãŒãããŒãåã«èšå®
ãåè
ã·ã³ãã«ã«ããã¹ãã®ã¿ããµã¯ããšæµã蟌ã¿ããå Žåã¯ãã¿ã³ãµã³ããã®ã¢ãããŒããéåžžã«äŸ¿å©ã§ãã
ããããŠãIllustratorã® ïŒ»éžæïŒœïŒïŒ»å ±é ã¡ãã¥ãŒïŒãã©ã³ããã¡ããªãŒãããã¹ãã«ã©ãŒã®äžæ¬éžæãªã©ïŒã掻çšãããšãæµã蟌ã¿åŸã®åŸ®èª¿æŽãäžæ®µãšã¹ã ãŒãºã«ãªããŸãã

ã¢ããããŒãå±¥æŽ
æ©èœè¿œå ã»äžå ·åä¿®æ£ãé æ¬¡è¡ãªã£ãŠããŸãã
v1.2ïŒ2026/01/22ïŒ
ã°ã«ãŒããéžæããŠãããšãã«ã¯ããã®ã°ã«ãŒããããã³ãã¬ãŒãããšããŠå©çšããããªãã·ã§ã³ã远å
ããŒã«ã©ã€ãºå¯Ÿå¿
éããŠãããã¡ã€ã«ã«ã¯æãã€ããããxxx_import_20260122_132124.aiãã®ããã«ã_import_æ¥ä»_æå»ããä»ãããã¡ã€ã«åãäœæããŸãã

v1.4.0
ã¢ãŒãããŒãã®å€§ããã«ãã£ãŠãã«ã³ãã¹ã«åãŸããªããšãã«ãšã©ãŒã«ãªã£ãŠããŸã£ãŠããŸãããã«ã³ãã¹ã®å€©å°äžå€®ã«èªåçã«æŽåããããã«ããŸããã

v1.4.1
ã¢ãŒãããŒãåã®åç §åãæ£ããåæ ãããªããã°ãä¿®æ£
ã³ãŒãã®ãªãã¡ã¯ã¿ãªã³ã°ãšUIæèšã®èª¿æŽ
v1.5.0
ååã§ã®èªå察å¿
æåã§ã®å¯Ÿå¿ã¥ãã®åãæ¿ã
察å¿åã®ãµã³ãã«å€è¡šç€ºãšäœ¿çšæžã¿åã®ãã£ã 衚瀺
æ¶è²»çšã®èªåèšç®
åæ°ã®æå®
ãã¡ã€ã«åã®èšå®
æ°å€å ¥åæ¬ã®ããŒæäœã远å