以隱藏或唯讀方式儲存到磁碟我有 .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 也可以設定和清除隱藏屬性。
我認為只讀是可行的方法;我懷疑這會讓其他程序不會將你拒之門外。