WPS清除图片段落布局脚本

WPS文档中如果存在大量图片,没有居中对齐的情况,一个个调整太费时费力, 写了个脚本批量处理, 脚本如下:

javascript 复制代码
/**
 * 清除图片段落布局
 */
function clearImageParagraphLayout_v2() {
    try {
        const doc = Application.ActiveDocument;
        if (!doc) return alert("请先打开文档");

        const processedParaIds = new Set();
        let totalProcessed = 0;

        // 处理嵌入式图片(更可靠的获取方式)
        const inlineShapes = doc.InlineShapes;
        for (let i = 1; i <= inlineShapes.Count; i++) {
            try {
                const shape = inlineShapes.Item(i);
                const para = shape.Range.Paragraphs.Item(1);
                if (para && !processedParaIds.has(para.ParaID)) {
                    resetParagraphFormat(para);
                    processedParaIds.add(para.ParaID);
                    totalProcessed++;
                }
            } catch (e) {
                // 跳过有问题的图片
                continue;
            }
        }

        // 处理浮动式图片(兼容不同版本的锚点获取)
        const shapes = doc.Shapes;
        for (let j = 1; j <= shapes.Count; j++) {
            try {
                const shape = shapes.Item(j);
                // 尝试不同的锚点获取方式
                let para;
                if (shape.Anchor) {
                    para = shape.Anchor.Paragraphs.Item(1);
                } else {
                    para = shape.Range.Paragraphs.Item(1);
                }

                if (para && !processedParaIds.has(para.ParaID)) {
                    resetParagraphFormat(para);
                    processedParaIds.add(para.ParaID);
                    totalProcessed++;
                }
            } catch (e) {
                // 跳过有问题的图片
                continue;
            }
        }

        alert(`已处理 ${totalProcessed} 个包含图片的段落\n共检测到 ${inlineShapes.Count + shapes.Count} 张图片`);
    } catch (e) {
        alert("操作失败:" + e.message);
    }
}

// 重置段落格式的辅助函数(使用具体数值代替常量,避免版本问题)
function resetParagraphFormat(para) {
    para.FirstLineIndent = 0;
    para.LineSpacingRule = wdLineSpaceSingle;
    para.Alignment = 1;
}
相关推荐
专注VB编程开发20年3 天前
WPS 重营销、轻基础底层,劫持注册表让office没法用
wps
wujian83113 天前
怎么把Kimi里的表格完整复制到wps内
人工智能·ai·wps·豆包·deepseek·ai导出鸭
系统集成架构师4 天前
WPS 多维表格新增数据,如何自动同步到腾讯文档?
wps
xqg13166 天前
WPS 配置优化
wps
梦幻通灵6 天前
WPS的word表格序号递增实现方案
wps
熟悉的新风景7 天前
word,wps使用技巧
word·wps
我没胡说八道7 天前
论文AI改写工具深度实测测评|避坑对比、优劣短板、场景适配全解析
人工智能·经验分享·深度学习·aigc·论文·wps
专注VB编程开发20年8 天前
逍遥Pya IDE -- 可视化Python开发工具,类似VBA WPS(JSA)
ide·python·wps
transuperb13 天前
WPS-word画出完美的三线表
word·写作·wps
扬帆破浪13 天前
开源免费的WPS AI 软件 察元AI文档助手:链路 053:AIAssistantDialog 选区翻译的 streamChatCompletion
开源·wps