论坛帮助 |
社区圈子 |
日历事件 |
2024-10-26, 10:15 | 只看该作者 #7 | ||
|
|||
中级会员
等级: 七袋长老
|
引用:
帮你做了一个 屏幕快照 2024-10-26 上午10.13.33.png 代码:
// 插件名称:批量填充表格 // 功能:将复制的CSV数据填充到InDesign表格中 #target "indesign" function main() { // 创建对话框 var myDialog = new Window('dialog', '批量填充表格'); // 数据输入区 myDialog.add('statictext', undefined, '请输入CSV数据:'); var dataInput = myDialog.add('edittext', [0, 0, 400, 200], '', {multiline: true}); // 行数和列数输入 var rowGroup = myDialog.add('group'); rowGroup.add('statictext', undefined, '行数:'); var rowInput = rowGroup.add('edittext', undefined, '13'); rowInput.characters = 5; var colGroup = myDialog.add('group'); colGroup.add('statictext', undefined, '列数:'); var colInput = colGroup.add('edittext', undefined, '13'); colInput.characters = 5; // 按钮 var buttonGroup = myDialog.add('group'); buttonGroup.alignment = 'center'; var okButton = buttonGroup.add('button', undefined, '开始', {name: 'ok'}); var cancelButton = buttonGroup.add('button', undefined, '取消', {name: 'cancel'}); // 处理按钮事件 if (myDialog.show() == 1) { // 获取输入数据 var dataText = dataInput.text; var namesArray = dataText.split(/\r|\n/); // 按行分割 // 去除空行 var tempArray = []; for (var i = 0; i < namesArray.length; i++) { var name = namesArray[i]; if (name && name.replace(/^\s+|\s+$/g, '') !== '') { tempArray.push(name); } } namesArray = tempArray; var numRows = parseInt(rowInput.text); var numCols = parseInt(colInput.text); if (isNaN(numRows) || isNaN(numCols) || numRows <= 0 || numCols <= 0) { alert('请输入有效的行数和列数。'); return; } var totalCells = numRows * numCols; // 创建表格 app.documents.add(); // 新建文档 var doc = app.activeDocument; var myPage = doc.pages[0]; // 创建文本框架来容纳表格 var myTextFrame = myPage.textFrames.add({ geometricBounds: [20, 20, doc.documentPreferences.pageHeight - 20, doc.documentPreferences.pageWidth - 20] }); // 插入表格 var myTable = myTextFrame.insertionPoints[0].tables.add({ bodyRowCount: numRows, columnCount: numCols }); // 填充表格数据 var nameIndex = 0; for (var r = 0; r < numRows; r++) { for (var c = 0; c < numCols; c++) { if (nameIndex < namesArray.length) { myTable.rows[r].cells[c].contents = namesArray[nameIndex]; nameIndex++; } else { myTable.rows[r].cells[c].contents = ''; // 空白 } } } alert('表格已生成!'); } else { // 用户点击取消,脚本结束 } } main(); |
||
回复时引用此帖 |
右列 3 位会员因为此帖价值甚高向 cpclgw 表示感谢: |
2024-10-26, 13:17 | 只看该作者 #9 | ||
|
|||
中级会员
等级: 七袋长老
|
引用:
不好意思,可以了,去掉了 #target "indesign"可以运行 |
||
回复时引用此帖 |