2011年11月5日 星期六

在LibreOffice Writer中計算全部中、英文字數

在 OOo 和 LibreOffice 中計算中、英字數的方式,好像不太適用
在江明勳老師的第952回–自由的風-9-計算中文字數中,
找到正確計算中英字數的方法:
註:更詳細的說明請到上方 江明勳老師 的部落格參考(有圖文介紹)。
步驟如下:

  1. 下載雄哥發噗分享OpenOffice Extensions (附加元件) 字數計算 words_counter.oxt
    (新版-words_counter_002版已釋出,下載請到http://goo.gl/CrRI4 ---見留言)
  2. 開啟 OOo 或 LibreOffice ,[工具]/[擴充套件管理員]
  3. 按[增加] →選下載的檔案 →確定 →關閉
  4. 重新開啟 OOo 或 LibreOffice,就可以發現在[工具]最下方多了 [附加元件]/[字數統計]
  5. 點一下[字數統計],一會兒就計算好了!
 註:如果想在 [工具列] 上做一個按鈕,按一下就可以算字數:
  1. 從功能表中按「工具」、「自訂」、「工具列」、「增加」
  2. 拉到最底下,找到 [LibreOffice巨集] /「我的巨集」 → 找到「WordCount」
  3. 點▶展開,直到右側指令中出現「Main」,點選「Main」 →[增加]
  4. 點選「Main」→按右側 [修改] /[重新命名] →改為 [統計字數]
  5. 按[確定],就會出現在你的 「工具列」[標準工具列]中。
  6. 點選「Main」→點[修改]/[變更圖示] →選一個自己喜歡的小圖示。

14 則留言:

  1. 使用 libreoffice/openoffice 沒有算中文字數功能, 我改了一版
    可以較正確的算出英文字數. 下載請到 http://goo.gl/CrRI4

    回覆刪除
  2. dlin大:
    非常感謝,好用!讚一個☺

    回覆刪除
  3. 好像遲了點回……請問有沒有超過65,535字元上限的計算器?

    回覆刪除
  4. 或,能編輯oxt檔的工具……

    這個65,534字元的上限是十六進制的FFFF上限,應是delare variables時用錯了……應該是十分容易改動的說……

    回覆刪除
    回覆
    1. Simon Wing Tsuen Ho:
      1.要計算超過65535個中文字,可用 MadEdit。
      2.要編輯oxt檔,可以到 http://www.plurk.com/m/p/bs0jnp 看看。

      刪除
    2. 謝謝回覆,讓我看看!:)

      刪除
  5. 原來不必改造oxt,在OOo內置的巨集編輯就可以了。

    今天在挖那個extension的程式碼,發覺問題不在variables的定義。我試將那些variables改為long,仍然計不了超過FFFF的上限。細看下,程式的做法是將整個文件串成一條長長的string來算,似乎一個string variable的長度不能大於65534字元。

    解決的辦法有二:第一是重做一個array,每65534字則加一個string array,不過這個做法要重寫好多的行段,很頭痛的說;第二是將程式改造為Selection base(現時是一次過全個文件的數),不過在下不大懂得OOo Basic,仍然在摸索中。

    在下在船上工作,不能無限上網耶,要學改造程式是很頭痛的事……就這樣,只想吐嘈一下,不好意思。

    回覆刪除
    回覆
    1. Simon Wing Tsuen Ho:
      我也不懂哩,
      只是拿人家做好的過來用而已^^|||
      您有空慢慢研究吧!
      謝謝您的回覆,有空常來逛逛啊!

      刪除
  6. 改好了。不過不懂repack...

    裝了那個oxt檔後,可以透過OOo內置的Basic IDE編輯。我用的是英文版OOo,Tools --> Macros --> Organize Macros --> OpenOffice.org Basic;在My Macros下打開WordsCounter,選擇任何一個Subroutine (Main或Count都可以),按Edit。

    在Sub Count那一段內,尋找oS = Dok.getText().String,改動為oS = Dok.getCurrentSelection().getByIndex(0).String,這樣算字數那Macro (巨集?)將變成以選擇來進行計算。

    喜歡的話還可以在之後加多一個If Else statement,在超出字元限制或沒有選擇任何東西時給他顯示一個甚麼別的錯誤訊息,不過這不太重要……

    謝謝你的pointer(不懂得中文是甚麼,對不起)!

    我也在我的netbook裝了Lubuntu玩,你的網頁將會有很大的參考價值呢!先謝過!

    回覆刪除
    回覆
    1. Simon Wing Tsuen Ho:
      恭喜您成功了!
      並謝謝您的回覆,照這樣改就可以了。我現在下忙,有空我來試試,並放到上面的 blog 中。
      謝謝喔!
      有空常來看看、參考參考!

      刪除
  7. Oops,用錯了女朋友的account……哈哈哈哈……(尷尬中)

    回覆刪除
    回覆
    1. Simon Wing Tsuen Ho:
      CC,電腦共用的結果,是你的她忘了登出囉!

      刪除
  8. Apache OpenOffice 3.4.0和LibreOffice 3.6.0都修正了中文字數統計的缺陷,可以去下載看看。此外,LibreOffice在狀態列也有顯示字數統計,在那裏按二下滑鼠左鍵就會跑出我們常用的字數統計對話方塊

    回覆刪除