当前位置:首页教育技巧WPS技巧wps表格

wps如何载入,WPS加载项 FileDialog方法使用

2024-07-10 09:49:36


场景

重写打开文件方法,打开文件弹窗打开指定的目录,初始化另存为文件名等。

解决方案

打开文件

// FileDialog的值 // msoFileDialogFilePicker 3 “文件选取器”对话框。 // msoFileDialogFolderPicker 4 “文件夹选取器”对话框。 // msoFileDialogOpen 1 “打开”对话框。 // msoFileDialogSaveAs 2 “另存为”对话框。 // InitialView的值 // msoFileDialogViewDetails 2 文件以带有详细信息的列表形式显示。 // msoFileDialogViewLargeIcons 6 文件显示为大图标。 // msoFileDialogViewList 1 文件以不带详细信息的列表形式显示。 // msoFileDialogViewPreview 4 文件以列表形式显示,并在预览窗格中显示选定的文件。 // msoFileDialogViewProperties 3 文件以列表形式显示,并在一个窗格中显示选定文件的属性。 // msoFileDialogViewSmallIcons 7 文件显示为小图标。 // msoFileDialogViewThumbnail 5 文件显示为缩略图。 // msoFileDialogViewTiles 9 文件显示为平铺图标。 // msoFileDialogViewWebView 8 文件显示在 Web 视图中。 /** * 格式对应函数 * @param {*} newName 转换的文件名称,例如test.docx * @returns 格式对应的枚举值 */ function returnFormatType(newName){ var typeList=[];//格式对应列表 var formatType=12;//默认转换的格式 if(wps.WpsApplication){//文字 typeList=[{ type:"ofd", value:102 },{ type:"dot", value:1 },{ type:"txt", value:2 },{ type:"rtf", value:6 },{ type:"html", value:8 },{ type:"mht", value:9 },{ type:"htm", value:10 },{ type:"xml", value:11 },{ type:"docx", value:12 },{ type:"docm", value:13 },{ type:"dotx", value:14 },{ type:"dotm", value:15 },{ type:"doc", value:16 },{ type:"wps", value:16 },{ type:"pdf", value:1 },{ type:"uot", value:1 },{ type:"uof", value:111 }] formatType=12; }else if(wps.EtApplication){//表格 typeList=[{ type:"ofd", value:102 },{ type:"pdf", value:103 },{ type:"et", value:65521 },{ type:"ett", value:65522 },{ type:"uof", value:65523 },{ type:"uos", value:65525 },{ type:"xls", value:-4143 },{ type:"csv", value:6 },{ type:"dif", value:9 },{ type:"xlt", value:17 },{ type:"prn", value:36 },{ type:"txt", value:42 },{ type:"html", value:44 },{ type:"mht", value:45 },{ type:"xlsb", value:50 },{ type:"xlsx", value:51 },{ type:"xlsm", value:52 },{ type:"xltm", value:53 },{ type:"xltx", value:54 }] }else{//演示 typeList=[{ type:"dps", value:1 },{ type:"ppt", value:1 },{ type:"pot", value:5 },{ type:"dpt", value:5 },{ type:"rtf", value:6 },{ type:"pps", value:7 },{ type:"html", value:12 },{ type:"htm", value:12 },{ type:"gif", value:16 },{ type:"jpg", value:17 },{ type:"png", value:18 },{ type:"bmp", value:19 },{ type:"tif", value:21 },{ type:"pdf", value:32 },{ type:"xps", value:33 },{ type:"pptx", value:34 },{ type:"ofd", value:102 }] } //根据转换名称截取后缀 let splitArr=newName.split(".") let newType=splitArr[splitArr.length-1]; typeList.map((item)=>{//根据后缀,返回对应的枚举值 if(item.type==newType){ formatType=item.value } }) return formatType; } /** * * @param {*} openType 默认打开的格式,参数案例:doc或docx,默认值为所有类型的文件 */ function openFile(openType="*",isOnlyOpenType){ let openTypeStr=`*.${openType}`; let diyFilters=[{ Extensions:"*.docx;*.txt", Description:"doc文档" },{ Extensions:"*.docx;*.doc", Description:"doc文档和docx文档" },{ Extensions:"*.*", Description:"所有文档" }] let dialog=wps.Application.FileDialog(1) //遍历打印所有Filters; for(let i=1;i<=dialog.Filters.Count;i++){ console.log(dialog.Filters.Item(i).Extensions,"2222",dialog.Filters.Item(i).Description) } diyFilters.map(item=>{ dialog.Filters.Add(item.Description,item.Extensions,1)//参数1:类型的描述;参数2:类型的后缀名,需要带上*.,多个用;分隔 ;参数3:插入的位置 }) let defaultIndex=1; for(let i=1;i<=dialog.Filters.Count;i++){ let Extensions=dialog.Filters.Item(i).Extensions.split(";"); if(Extensions.includes(openTypeStr)){ if(Extensions.length==1){ defaultIndex=i; break; }else if(defaultIndex==0){ defaultIndex=i; } } } dialog.FilterIndex=defaultIndex;//默认打开的格式的Index dialog.AllowMultiSelect=false;//单选,true为多选 // dialog.InitialView=7;//目前暂不支持设置 if(dialog.Show()){ dialog.Execute() } } /** * 另存为文件 * @param {*} InitialFileName 默认打开的格式,参数案例:doc或docx,默认值为所有类型的文件 * @param {*} openType 只打开这一种文件 */ function saveAs(InitialFileName,openType){ let openTypeStr=`*.${openType}`; let dialog=wps.Application.FileDialog(2)//另存为弹窗 dialog.InitialFileName=InitialFileName; if(openType){//设置默认保存格式 let defaultIndex=1;//初始化格式 for(let i=1;i<=dialog.Filters.Count;i++){ let Extensions=dialog.Filters.Item(i).Extensions.split(";"); if(Extensions.includes(openTypeStr)){ if(Extensions.length==1){ defaultIndex=i; break; }else if(defaultIndex==0){ defaultIndex=i; } } } dialog.FilterIndex=defaultIndex;//默认打开的格式的Index } dialog.AllowMultiSelect=false;//单选,true为多选 if(dialog.Show()){ wps.Application.ActiveDocument.SaveAs2(dialog.SelectedItems.Item(1),returnFormatType(dialog.SelectedItems.Item(1))) }else{ console.log("您点击了取消") } }

相关信息


电脑版

【免责声明】本站信息来自网友投稿及网络整理,内容仅供参考,如果有错误请反馈给我们及时更正,对文中内容的真实性和完整性本站不提供任何保证,不承但任何责任。
版权所有:学窍知识网 Copyright © 2011-2024 www.at317.com All Rights Reserved .