◆- Adobe插件与脚本区 主要讨论Adobe插件开发与软件脚本撰写

发表新主题 回复
 
查看全部 主题工具
旧 2024-10-26, 07:37     #1
cpclgw cpclgw 当前在线
中级会员
等级: 七袋长老
帅哥 级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时
 
Uid: 333099
注册日期: 2013-03-11, 13:56
帖子: 2466
感谢: 757
427 个帖子获得 705 次感谢
现金: 42金币
资产: 4042金币
声望: 10 cpclgw 向着好的方向发展
cpclgw cpclgw 当前在线
中级会员
等级: 七袋长老
帅哥 级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时
 
Uid: 333099
注册日期: 2013-03-11, 13:56
帖子: 2466
感谢: 757
427 个帖子获得 705 次感谢
现金: 42金币
资产: 4042金币
声望: 10 cpclgw 向着好的方向发展
默认   



引用:
作者: 姜椒蒜 查看帖子
是不是有自带的脚本?

请教下,我在EXCEL中复制了一列姓名,比如说有169个,我想放在ID的表格,13行*13列的每个单元格中,不知道在ID中要怎么操作,这种要求是不是要借助脚本?ID自带的功能能实现吗?我现在是在EXCEL中用公式转置好再复制过来的
我感觉应该是你这样操作:在EXCEL中用公式转置好再复制过来
cpclgw 当前在线   回复时引用此帖回复时引用此帖
旧 2024-10-26, 10:15     #2
cpclgw cpclgw 当前在线
中级会员
等级: 七袋长老
帅哥 级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时
 
Uid: 333099
注册日期: 2013-03-11, 13:56
帖子: 2466
感谢: 757
427 个帖子获得 705 次感谢
现金: 42金币
资产: 4042金币
声望: 10 cpclgw 向着好的方向发展
cpclgw cpclgw 当前在线
中级会员
等级: 七袋长老
帅哥 级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时级别:87 | 在线时长:8003小时 | 升级还需:93小时
 
Uid: 333099
注册日期: 2013-03-11, 13:56
帖子: 2466
感谢: 757
427 个帖子获得 705 次感谢
现金: 42金币
资产: 4042金币
声望: 10 cpclgw 向着好的方向发展
默认

引用:
作者: 姜椒蒜 查看帖子
是不是有自带的脚本?

请教下,我在EXCEL中复制了一列姓名,比如说有169个,我想放在ID的表格,13行*13列的每个单元格中,不知道在ID中要怎么操作,这种要求是不是要借助脚本?ID自带的功能能实现吗?我现在是在EXCEL中用公式转置好再复制过来的

帮你做了一个
屏幕快照 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();
cpclgw 当前在线   回复时引用此帖回复时引用此帖
右列 3 位会员因为此帖价值甚高向 cpclgw 表示感谢:
aprking (2024-10-26), tqtyygtwwx (2024-10-26), 姜椒蒜 (2024-10-26)
发表新主题 回复


发帖规则
不可以发表主题
不可以回复帖子
不可以上传附件
不可以编辑自己的帖子

论坛启用 vB 代码
论坛启用 表情图标
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


律师声明:本站内容,均具有版权,未经书面授权,禁止转载,严禁镜像,违者承担一切后果!
论坛广告报价   广告联系及办理企业会员服务QQ:57880388 站务管理QQ:35529388


所有时间均为 +8, 现在的时间是 2025-01-04 15:58.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
 
Copyright © 2004-2022