ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 801|回复: 1

[原创] JS选择文件夹、选择表格文件

[复制链接]

TA的精华主题

TA的得分主题

发表于 2021-11-28 13:07 | 显示全部楼层 |阅读模式
本帖最后由 hnsd24 于 2021-11-28 14:58 编辑

方法和VBA一模一样,只是改了一下代码的写法
一、选择文件夹及调用举例
  1. function SelectPath() //选择文件夹,并返回文件夹路径
  2. {
  3.         let fo =Application.FileDialog(msoFileDialogFolderPicker)
  4.         fo.Title="请选择文件夹"
  5.         fo.InitialFileName="Users/Administrator/Desktop/"
  6.         fo.Show()
  7.         let paths=fo.SelectedItems
  8.         if(paths.Count==1)
  9.         {
  10.                 return paths(1)
  11.         }
  12.         else
  13.         {
  14.                 return ""
  15.         }
  16. }
  17. function test_select()
  18. {
  19.         Console.log(SelectPath())
  20. }
复制代码
二、选择表格文件及调用举例
  1. function SelectFile() //选择表格文件,并返回文件的完整路径和文件名
  2. {
  3.         let fo=Application.FileDialog(msoFileDialogFilePicker)
  4.         fo.Title="请选择表格文件"
  5.         fo.InitialFileName="Users/Administrator/Desktop/"
  6.         fo.AllowMultiSelect=false
  7.         fo.Filters.Clear()
  8.         fo.Filters.Add("Excel Files","*.xls;*.xlsx;*.xlsm;*.csv;*.et")
  9.         //fo.Filters.Add("All Files", "*.*")
  10.         if(fo.Show()==0) //用户选择取消
  11.         {
  12.                 return ""
  13.         }
  14.         else
  15.         {
  16.                 return fo.SelectedItems(1)
  17.         }
  18. }
  19. function test_selectfile()
  20. {
  21.         Console.log(SelectFile())
  22. }
复制代码
另外,我用JS做的日历挂件(窗体)基本上也完成了,但由于JSA目前目前缺少窗体的卸载或关闭方法,暂时无法使用
Y11CA)5L4}(PB_XGTJ7_)FG.png

评分

3

查看全部评分

TA的精华主题

TA的得分主题

发表于 2021-11-29 13:16 | 显示全部楼层
用JSA 实现一键备份指定文件,该怎么实现,我现在用vba编了一段,但是不知道用js该怎么处理。
Private Sub CommandButton5_Click() '备份单个文件
  
   Dim 待备份路径, 模待备份文件名, 导出路径, 导出文件名

   
   Range("l3:m3").ClearContents
   
   Range("l1").Select
   Selection.FormulaR1C1 = Format(Now(), "yyyymmddhmm")
   Range("k3").Select
   Selection.TextToColumns Destination:=Range("L3"), DataType:=xlDelimited, TextQualifier:=xlTextQualifierDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar:=".", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    Range("K5").Select
   待备份路径 = Range("K2")
  
   待备份文件名 = Range("K3")
   导出路径 = Range("K4")
   On Error Resume Next
    VBA.MkDir 导出路径
  
   导出文件名 = Range("l3") & "备份" & Range("l1") & "." & Range("m3")
   Range("k5") = 导出文件名
   Range("l1").ClearContents
   
  
    FileCopy 待备份路径 & 待备份文件名, 导出路径 & 导出文件名
   
   If Dir(导出路径 & 导出文件名) = "" Then
      MsgBox "文件不存在,关闭工作簿后再试。", 0 + 48 + 256 + 0, "信息"
   ElseIf Dir(导出路径 & 导出文件名) <> "" Then
     
      MsgBox "备份已完成。", 0 + 48 + 256 + 0, "信息"
   End If

End Sub

按路径简单备份u1.zip

23.53 KB, 下载次数: 8

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-21 19:16 , Processed in 0.039834 second(s), 13 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表