以隐藏或只读方式保存到磁盘我有 .jsl 脚本,它从 SQL 服务器提取数据并将其保存为 .jmp 和 .xlsx。.jmp 文件是为了让我可以查看数据而无需等待 SQL 查询。 .xlsx 文件因此不同的 .xlsm 文件可以读取它(也无需等待)并根据需要运行其他宏。
但是,有些没有 JMP 的人打开 .xlsx 文件来读取数据。然后他们不会关闭它 - 这意味着 .jsl 无法保存新的更新副本(每小时) - 这意味着 .xlsm 使用过时的数据。
我希望 .jsl 文件保存隐藏副本(对于 .xlsm 文件)和可见副本(对于人类),但似乎禁止将 .jsl 保存在隐藏文件上。不出所料,保存为只读文件。
我可以用 .jsl 保存隐藏文件吗? 我可以先使用 .jsl 取消隐藏文件吗?有没有我忽略的更简单的解决方案?提前致谢。
回复:以隐藏或只读方式保存到磁盘嘿,克雷格,或者观众,我是 jsl 的真正 HACK,如果我想保存为只读的 Excel 表(通过当前打开或隐藏的 *.xlsx 文件)位于 \\Server\Engineering\Project\qbert .xlsx,如何应用上面的脚本? 在示例中,txt 是感兴趣的表吗? 如果是这样,术语 text、attrib.exe 和 file 是什么? 这些 jsl 函数或对我正在操作的表的引用吗?提前致谢!!-德文
回复:以隐藏或只读方式保存到磁盘谢谢克雷格,这打开了一些巧妙的大门。回复:以隐藏或只读方式保存到磁盘两个可能有用的片段
// make read only: attrib.exe +R <PATH>
txt=Run Program(executable("attrib.exe"),options({"+R","\!""||file||"\!""}),readfunction("text"));
if(txt!="",show(txt));</PATH>和
// make NOT read only: attrib.exe -R <PATH>
txt=Run Program(executable("attrib.exe"),options({"-R","\!""||convertfilepath(file,windows)||"\!""}),readfunction("text"));
if(txt!="",show(txt));</PATH>您可能也应该在顶部使用 ConvertFilePath(... , windows) ;命令行程序 attrib 将需要一个 Windows 样式名称。 我认为我从中获取的代码知道顶部的代码已经可以了。 Attrib 工作时不打印任何内容。 if(...show...) 用于调试错误的路径名。 该文档说 attrib 也可以设置和清除隐藏属性。
我认为只读是可行的方法;我怀疑这会让其他程序不会将你拒之门外。