共享編輯、跨文檔引用的不便

Excel 的共享文檔多人編輯、跨文檔引用等功能似乎很美好,實際用下來很成問題。

  • 首先共享文檔雖然用約定按標註責任人的方式由不同的人編輯不同的行避免的多人同時編輯一行的衝突,但是這通常是個大文件,經常(大概是自己使用過濾時他人正在保存)卡住,而這會把整個Excel卡住,包括新建沒存盤的文檔都不能操作。
  • 而跨文檔引用,會在很多時候去刷新引用。即使當前文檔不共享編輯,如果被引用的文檔共享編輯也會卡住。

整個操作會變得不順暢,甚至極端情況下 Excel 卡太久都崩潰了。減少被卡概率的方法就是用文件副本

  • 共享文件複製到本機任意位置,雖然還是“共享”,但是隻有自己一人編輯,就沒有多人衝突了。最後記得把本機修改內容複製到原始的共享文檔中,這是唯一可能被卡的時機,不過本機有最新數據,卡崩潰都沒關係。
    注: Excel 不能同時打開同名文件,內容複製前本機文件要改名
  • 跨文檔引用想法讓引用失效(只是試圖刷新時刷不出新數據,舊數據還在,不影響正常使用)。如果用了相對引用(比如同目錄下的文件),複製到不同目錄;如果用了絕對引用,那就斷網(假如引用網絡路徑)或改被引用文件所在的目錄名(假如這個目錄在本機)。

頑固的名稱、引用衝突

跨文檔引用失效後還有遺留問題,保存前就會一直有下面的提示

共享文檔多人編輯 docker_數據


除非點【全部確定】,否則每個衝突都要提示一次。下次保存又來一遍。既然名稱有錯,用 CTRL+F3打開名稱管理對話框把裏面的內容都刪掉

共享文檔多人編輯 docker_數據_02


結果還是有錯

共享文檔多人編輯 docker_文件複製_03


最後不得不對 Excel 文檔直接動手了

  1. 假如原始文檔叫 文檔1.xlsx (.xls 格式先另存為 .xlsx,最後反向另存為),先改名為 文檔1.zip (不用懷疑,.xlsx 就是 zip 格式)
  2. 用 winrar 之類整體解壓,比如全到了 文檔1\ 子目錄下
  3. 用任意文本編輯器打開 文檔1\xl\workbook.xml。下圖顯示,用的 Sublime Text 編輯器甚至因為一行內容太複雜而失去了高亮顯示
  4. 找到 <definedNames></definedNames> 這對標記進行分段,就清晰了
  5. 把上面的第4行徹底刪掉,恢復原樣起見把第2行結尾包括之後的換行都去掉,保存。
    理論上有換行無影響——沒有嘗試
  6. 把整個 文檔1\ 下內容打包——不是對文檔1目錄打包成 zip,否則多了一層路徑 ;把 文檔1.zip移到上級,改名為 文檔1.xlsx

自此大功告成,保存時沒有煩人的提示了。

又:
凡是 Excel 文檔出錯而又難以找源頭,都可以用 zip 法來進行文本全文件查找。前面對話框3中的 估計可用文本查找精確定位進行修改;既然刪 <defineName> 可以簡單解決就不用逐個對應了。