JS宏里的LineInput有问题

wils
wils

创作者俱乐部成员

JS宏里可以用Put命令写入文件,用LineInput读取,但这里有一些问题一直没有解决:

  • Put一次只能写入512字节,多出的部分直接丢弃,没有提示

  • LineInput只能读取小于64字节的行,多出的行会丢失信息

  • 有时LineInput会丢失最后一行

如图,先写入四行,每行65个字符加一个回车,可以看到,偶数行只剩一个字符。。。

如图,每行63个字符加一个回车,就可以正常读出来

前也发生过,读取时丢失最后一行的问题

希望可以有相关的文档,介绍具体的使用方法,另外每行64字符有点太少,目前只能用base64把文本处理成每行64字符,再读取,十分不便,希望改进

海南省
浏览 455
收藏
8
分享
8 +1
7
+1
全部评论 7
 
畅心
换一个方案 async function fx(){ const st=await Promise.resolve().then(x=>{ var book=Workbooks.Open('C:/Users/Administrator/Desktop/ramda.min.js'); var js=book.Worksheets(1).UsedRange.Value2.join('') book.Close(); eval(js); Console.log(R.aperture(2,[1,2,3,4,5,6])+'') }) } //Workbooks.OpenText Workbooks.OpenXML
· 广东省
1
回复
 
陈俊东
陈俊东

@金山办公

这套接口一开始是想“仿”VBA的,没想到VBA这套接口这么难用。后面我们想办法优化下。
· 广东省
1
回复
wils
wils

创作者俱乐部成员

感谢大佬!!! 厚颜再提点建议 fso那个com对象就很好,如果像64位支持kwps.application那样支持fso,就不用这些仿vba的命令了 然后就是shell命令,如果能像wscript.shell的exec方法那样,获得返回值就更好了 多谢
· 海南省
回复
 
詠遠
这个比较厉害
· 山东省
1
回复
 
Mr Chen
Mr Chen

创作者俱乐部成员

打卡
· 甘肃省
1
回复