[Seek Help] 求助:wps js宏代码在瘟疫系统下能正常运行但在深度系统不能?
Tofloor
poster avatar
晚秋(lateautumn)
Moderator
2025-02-19 16:05
Author

wps js宏代码在瘟疫系统下能正常运行但在深度系统不能?

一直限制我不能摆脱瘟疫系统的主要原因就是vba转wpsjs宏。最近正在努力攻克。从网上找到一段代码,在瘟疫系统下能正常运行,但在深度系统下不能,求助坛神帮我这个大白找一下原因。

//定义一个自定义函数,用于选择文件夹

function GetFolder(defaultpath){

Application.ScreenUpdating=false //关闭屏幕刷新,否则弹不出对话框

var fb=Application.FileDialog(msoFileDialogFolderPicker); //获取文件选择框

fb.InitialFileName = defaultpath //设置默认文件夹

fb.Show(); //显示文件夹

Application.ScreenUpdating=true //开启屏幕刷新

if(fb.SelectedItems.Count>0){ //判断是否选择了文件夹

return fb.SelectedItems(1); //返回所选择的文件夹

}else{

return null; //若为未任何选择,则返回空值

}

}

//获取文件夹下的文件,并生成超链接

function 选择文件夹生成文件超链接(){

p=GetFolder(ThisWorkbook.Path); //调用GetFolder函数选择文件夹,赋值给变量p

if(p==null) return; //若未选择文件夹,则退出程序

Range('a:a').Clear(); //清空A列内容

f=Dir(p+'\'); //遍历文件夹中的所有文件

i=1; //定义一个变量,表示行号,即从第1行开始写入

while(f){ //按文件名循环

//在A列创建文件的超链接

ActiveSheet.Hyperlinks.Add(Cells.Item(i,1),p+'\'+f,undefined,undefined,f);

i++; //行号加1,即从下一行开始写入

f=Dir() //获取下一个文件名

}

}

image.png

Reply Favorite View the author
All Replies
晚秋(lateautumn)
Moderator
2025-02-19 16:55
#1

自己解决了,瘟疫系统与linux系统对路径的表达不一样。f=Dir(p+'\’); //遍历文件夹中的所有文件 得改为=Dir(p+'//)

Reply View the author
龍丨逍雄琥
deepin
2025-02-19 17:33
#2

我一直叫他瘟都死系统😏

Reply View the author
晚秋(lateautumn)
Moderator
2025-02-19 17:38
#3
龍丨逍雄琥

我一直叫他瘟都死系统😏

哈哈,虽然瘟疫系统肯定是目前最好的,但咱还是得未雨绸缪,经过2年多的努力,已基本摆脱瘟疫系统的控制了。包括 office。

Reply View the author
lixiaobai
deepin
2025-02-24 22:38
#4
晚秋(lateautumn)

自己解决了,瘟疫系统与linux系统对路径的表达不一样。f=Dir(p+'\’); //遍历文件夹中的所有文件 得改为=Dir(p+'//)

得改为=Dir(p+'//)

是不是应该是

得改为=Dir(p+'/’)

正斜杠在Linux下可以,在win下有试过吗。我记得在win文件管理器输入“d:\test”和“d:/test”都是认的。

我用R语言,用正斜杠来表示路径,在Linux和win下是通用的。

Reply View the author
lixiaobai
deepin
2025-02-24 23:02
#5

不晓得是不是f=Dir(p)就可以。那个+是连接字符串吧。

Reply View the author
晚秋(lateautumn)
Moderator
2025-02-25 10:56
#6
lixiaobai

不晓得是不是f=Dir(p)就可以。那个+是连接字符串吧。

是的,+是连字符。我正在学习,发现因为路径表达不一样,按教程编的代码执行老有问题。比较累,但又不想用瘟疫系统了。

Reply View the author