【BUG反馈:WPS表格JSA缺失关键文件操作对象】

【BUG反馈:WPS表格JSA缺失关键文件操作对象】

软件版本:WPS Office 2026秋季更新 12.1.0.29158 64位

操作系统:Windows

模块:WPS表格 JS宏(JSA,开发工具-JS宏)

问题描述

WPS JS宏(JSA)环境缺失两个重要能力:

  1. 内置 VBA 兼容的 Name 重命名关键字,运行代码直接抛出错误 Name is not defined。

VBA中 Name(源) As(目标) 用于文件、文件夹重命名;但是在本版本JSA中该关键字不存在,无法调用。

  1. 无法创建 Scripting.FileSystemObject(FSO),执行 CreateObject("Scripting.FileSystemObject") 直接报错,后备文件系统对象不可用。

复现场景:

编写JSA批量重命名脚本,需要对本地磁盘文件/文件夹做重命名操作。

自检测试结果:

①文件‑Name改名:✗ Name is not defined

②文件夹‑Name改名:✗ JSA不支持

③FSO后备对象:✗ 不可用

现象:

目录遍历Dir()、GetAttr、MkDir、RmDir、FileCopy、Kill这些基础文件语句可以正常运行;

但是【Name关键字】与【CreateObject创建FSO对象】被阉割,导致JSA无法完成文件/文件夹改名业务。

预期行为:

1、JSA应当支持Name语句,实现文件、文件夹重命名,和VBA行为对齐;

2、或者允许JSA可以实例化Scripting.FileSystemObject对象,用于文件系统操作。

补充:

VBA宏模块在同一个WPS版本内是正常的,Name语句、FSO均可正常执行;仅JSA(JS宏)环境缺失。

请产品团队修复JSA文件系统API能力,JSA目前只剩部分旧式Dir系列文件函数,缺失改名关键接口,自动化脚本无法完成文件夹重命名工作。

山东省
浏览 110
收藏
1
分享
1 +1
1
+1
全部评论 1
 
wils
wils Lv.4 核心创作者

Lv.4 核心创作者

js里没有com对象,所以论坛里大家都是调用winapi的方式实现的 比如重命名 ExecuteExcel4Macro(`CALL("Kernel32", "MoveFileA", "JCC", "${ThisWorkbook.Path}\\a.txt", "${ThisWorkbook.Path}\\你好.txt")`) 文件的各种操作,用Application.FileSystem对象操作 还不太完善,但如果不够用可以用ffi自己实现 另外,这套方法在linux里改改也可以用,算是相比com的优点
   海南省
举报
0
0