OpenOffice.org試用手記分類文章 顯示方式:簡文 | 列表

2006年05月8日

[OOo] 跳頁的巨集--更新

OOoForum.org看到的巨集:直接跳到某一頁。在自訂裡把這個巨集指派給按鍵Ctrl+G,以達成和Word類似的功能。若不透過這個巨集的話,目前OpenOffice.org Writer必須用助手窗才能跳頁。

Sub JumpToPage 'Goes to home position on page X. Tap Space Bar
  'to get the view there.
  oVC = thisComponent.CurrentController.getViewCursor
  Do
    sAns = InputBox("Enter the page below.","JUMP TO PAGE")
    If sAns = "" then End
  Loop Until isNumeric(sAns)
  oVC.jumpToPage(Cint(sAns)) 'If beyond end, you get the last page.
End Sub

2006/05/11 加強版:
Global PriorPjcv as String
Sub GoToPage
  Def = PriorPjcv
  Def = Lcase(Def)
  oVC = thisComponent.CurrentController.getViewCursor
  CurrentP = oVC.getPage
 
  If Not ShowDef then Def = ""
  Info = "目前頁碼= " & CurrentP
  If PriorPjcv <> "" then Info = Info & "  先前頁碼= " & PriorPjcv
  a$ = "請輸入頁碼。" & Chr(10)
  a$ = a$ & "若有目錄等文前部份,附加一個空白和偏移量;"
  a$ = a$ & "例如:7 14會跳到文前第14頁後的第7頁。"
  a$ = a$ & "前n頁或後n頁請用 -n 或 +n。"
  sAns = InputBox(a$,"[移動頁碼] " & Info,Def)
  If sAns = "" then End
 
  b = split(sAns) : c = b(0) : d = 0
  I = Instr("+-",Left(c,1))
 
  If I > 0 then
    PlusMinus = true
    If I = 1 then c = Mid(c,2) 'Another + sign we need to get rid of.
  EndIf
  If ubound(b) > 0 then d = b(1)
  If Not isNumeric(c) Or Not isNumeric(d) then GoToPage()
  c = Cint(c) : d = Cint(d)
  If PlusMinus then
    p = CurrentP + c + d
  Else
    p = c + d
  EndIf
  If p < 1 then
    MsgBox("頁碼必須由 1 開始。",,"輸入結果 =  " & p)
    GoToPage()
  EndIf
  oVC.jumpToPage(p) 'If beyond end, you get the last page.
  PriorPjcv = CurrentP
End Sub

## ...繼續閱讀

Posted by emisjerry at 樂多Roodo!21:26引用(0)

2006年05月7日

[OOo] 輸入數值產生Unicode字元的巨集

Iannz OpenOffice.org page看到的巨集:AltKeyHandler,設定後卻無法讓Alt按鍵正確的執行,不知那裡發生錯誤,還需要再測試看看。

其內有個雜項巨集:HexUnicode,可以輸入一個十六進位的值來插入特定字元,我稍微做了點修改並改名為HexToUnicode,將執行步驟彙總如下:
  1. 【工具→巨集→組織巨集→OpenOffice.org Basic...】
  2. 在巨集的來源框裡選【我的巨集→Standard】,按最右方的「開啟新檔」
  3. 【新的模塊】對話窗裡給新的名稱:HexToUnicode
  4. 按確定後會進入程式編輯畫面,將下列程式貼上:
    REM  *****  BASIC  *****

    ' from http://homepages.paradise.net.nz/hillview/OOo/
    sub HexToUnicode
    on local error goto finished
    n = inputbox("Unicode 16進位值:")
    ch = chr(clng("&h" & n)
    myDispatch("InsertText", array("Text",ch))
    finished:
    end sub

    function myDispatch(sCommand as string, optional mArgs)
    oFrame = ThisComponent.CurrentController.Frame
    oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
    'on error resume next
    if isMissing(mArgs) then
        fnDispatch = oDispatcher.executeDispatch(oFrame, ".uno:" & sCommand, "", 0, array())
    else
        nArgs = uBound(mArgs) \ 2
        dim Args(nArgs) as new com.sun.star.beans.PropertyValue
        for i = 0 to nArgs
            Args(i).name = mArgs(i * 2)
            Args(i).value = mArgs(i * 2 + 1)
        next
        fnDispatch = oDispatcher.executeDispatch(oFrame, ".uno:" & sCommand, "", 0, Args())
    end if
    end function
  5. 儲存後離開編輯視窗
巨集程式輸入完畢後,進入工具→自訂→選鍵盤頁籤,設定一個按鍵給巨集HexToUnicode:
  1. 指定按鍵,此處用Ctrl+N
  2. 找到HexToUnicode巨集
  3. 按右上方的變更
  4. 按確定回到文件
Customize 1

接著在需要插入字元的地方按下Ctrl+N即會出現對話框,輸入十六進位的數值並按確定就能插入該數值代表的Unicode字元。

但是,我們要由那裡知道Unicode數值與其字元的對照呢?其實在Writer裡,在需要插入字元的對話框裡只要按「Ctrl+Shift+S」 就能開啟特殊字元窗,因此先按下Ctrl+N,再按Ctrl+Shift+S,即可看到特殊字元窗,由此視窗就能看到常用字元的Unicode了。下圖右下角的U+2460就是圓圈1的十六進位值,因此在紅框裡輸入2460按確定即可。
HexToUnicode 2
## ...繼續閱讀

Posted by emisjerry at 樂多Roodo!23:59引用(0)

2006年05月6日

[OOo] 表格要點備忘

本篇是有關OpenOffice.org Writer表格的些許要點備忘。

在 【工具→選項...→OpenOffice.org Writer→表格】是表格的預設初始設定。大部分的設定都很直覺,不須額外做說明,但其中的「不分開」勾選是表示表格能否跨頁,若不勾選,則表格能切割 成一部份在第 n 頁而另一部份在第 n+1 頁,若勾選的話,那麼表格整體一定會在同一頁(不是整個在第 n 頁,就是整個在第 n+1 頁)。

表格的快速選取方法有下列幾種:
  1. 把滑鼠游標移到表格的左上角,當游標變成箭頭狀時再Click,就能選取整個表格。當鍵盤游標在表格裡時,若儲存格內有字元按Ctrl+A會選取儲存格裡的文字,再按一次Ctrl+A就會選取整個表格;若儲存格裡沒有字元時,按一次Ctrl+A就能選取整個表格。
  2. 滑鼠游標移到表格上方就能選取表格的「欄」。
  3. 滑鼠游標移到表格左方就能選取表格的「列」。
Table select 1Table select 2Table select 3

表格的右鍵功能表裡有個「頁碼辨識」啟人疑竇、讓我搞不清楚是何用途,英文版功能表裡是「Number Recognition」,應該是數字辨識的意思,和頁碼一點關係都沒有呢。這個功能若有勾選時,在儲存格裡輸入數值(例如:3.14)時會被辨識出是數字,便套用數值儲存格的設定而向右靠,但若不勾選則會被當成一般文字看待。

Table Number Reg.

表格的左邊界是以由右向左的數字表示(下圖紅框表示表格的左邊界是2公分),表格內容本身則是由左到右表示(下圖可看出藍圓框裡的表格寬度是3公分)。

Table margin

表格的右鍵功能表或工具列裡的「表格」或「表格特性」可以開啟表格的格式設定視窗,我們可以在此輸入數值來調整表格的大小與邊界大小,若勾選「相對的」,則各項數值會以相對於頁面寬度的比例來表示。

Table margin 3

Table margin 2

表格格式裡的頁籤「欄」用來精準調整各欄的寬度,我們可以直接在標成1、2、3的欄位上輸入數字來改變特定的欄寬;改變欄寬時在紅框裡的勾選選項會影響表格的總寬度。
  • 「調整表格寬度」選項:有勾選的話,表格才會自動變寬或縮窄。
  • 「對稱調整欄寬」選項:有勾選時自動依各欄欄寬的比例分配各欄,使總欄寬在變動後各欄寬仍維持原有比例;勾選時調整表格寬度一定會被勾選。此處的英文是"Adjust Columns Proportionally",中譯的「對稱」會使人產生「等寬」的誤解。
下圖中我們把欄位2的欄位由1公分改成4公分,上述兩個選項都不勾選,則:
  • 表格寬度仍為3公分
  • 欄位1與欄位3都是0.94公分
  • 原來要設定成4公分的欄位2只被調整成2.92公分
Table width optionsTable after adjustment

如果「調整表格寬度」有勾選的話,系統自動調整最適欄寬並變更表格寬度,結果:
  • 表格寬度變成5公分
  • 欄位1、欄位3是1公分
  • 欄位2是3公分
##
...繼續閱讀

Posted by emisjerry at 樂多Roodo!21:28引用(0)

[OOo] 表格編號加上章節級別

接續上一篇的文件,OpenOffice.org Writer的表格(或其他物件)的標籤也可以依章節等的等級來顯示級別的編號。例如下圖中的「前言」是級別一的章名(段落樣式是標題1),則其內的兩個表格編號可以加上級別而成為1.11.2

Table number 1

快速開啟編編輯欄位(功能變數)的方式是把滑鼠游標在功能變數(即灰色的 1.2 區域)上雙擊,或按右鈕選【欄位】。請注意:鍵盤的左右按鍵是無法移進功能變數裡的,必須使用滑鼠才行。

把按章節編號的級由無改成1,即能加入章的編號在表格編號之前(由 1 變成 1.1 )。級別由1到10,分別對應成標題1到標題10。

綠色圓框內的箭頭可以快速移動到文件內同類型的功能變數處,功能與助手窗的快速尋找相同。

Table number 2

## ...繼續閱讀

Posted by emisjerry at 樂多Roodo!15:22引用(0)

[OOo] 標籤與自動維護的編號順序

OpenOffice.org Writer的表格、圖片等物件都能在其底部加入標籤(Label),用來說明這個物件的功能或用途,例如:
  1. 在表格內按右鈕,再選標籤
    Table 1
  2. 在「標籤」欄輸入表格功用,最後組成的文字顯示在紅框裡。
    Table 2
  3. 標籤插入在表格下方(亦可插入到上方),紅框就是插入後的標籤。這個表格的名稱會自動變成「表格1」。當游標停在表格裡時,狀態列的最右邊會顯示表格的名稱與位置。
    Table 3
Writer會自動幫表格編號,這個編號的動作在插入新的表格或刪除表格時,會依表格在文件裡的順序重新編號。

假設表格1 的第一個欄位要用來輸入序號,即第一列放1,第二列放2 ...,為了讓Writer自動幫我們維護編號,我們在欄位裡插入編號順序的功能變數。
  1. 把游標移入第一列的第一欄(由於表格的第一列是標題,此處的第一列指的是表格內容的第一列,即表格的第二列,位置A2)
  2. 【插入→欄位→其他...】,選【變量→編號順序】,再選取標的物「表格」,再於「名稱」欄輸入表格名稱(即表格1),最後按插入。
    Field variable
當游標停在剛插入的功能變數旁時會顯示出該變數的公式:表格1=表格1+1,複製這個功能變數到下列(位置A3)後,就能取得2,如此繼續插入到更多的列,編號會自動遞增,當有刪除列時也會自動重排;會編號順序功能變數才是方便的操作編號的方式,從此擺脫了耗時費工的人工變動號碼的工夫了。

Sequence number

當我們把游標移到表格的標籤旁時會顯示此功能變數的公式:表格=表格+1,當插入第二個表格與其標籤時,功能變數的公式也是表格=表格+1,因此會變成「表格 2」,也會自動編號、自動維護。

Table field variable

如果我們再開啟【插入→欄位→其他→變量】,會發現在「選取」欄裡多出了剛剛輸入了的「表格1」。由此我們可以明確的了解到表格變數與表格1變數是兩個不同的變數,且其編號是各自編號並能套用在不同的對象的。

Field Variable 2

## ...繼續閱讀

Posted by emisjerry at 樂多Roodo!0:56引用(0)

2006年04月30日

[OOo] 換行與鎖定

當插入圖片到OpenOffice.org Writer裡時,需要指定圖片和文字之間的關係,即「換行」模式(「換 行」對應的是Wrap一 字)。其擺放的位置必須指定「鎖 定」之種類(「鎖定」一字在英文版中是Anchor,下錨或定錨之意,亦即圖片要停 駐的方式,就像輪船要下錨在某個定點一般)。

換行有下列5種模式:
中文用語 英文用語 說   明 和文字的關係
1 不換行 No Wrap 圖片自己佔用獨立的行列,其左右皆無文字 No Wrap
2 換頁 Page Wrap 整頁的文字皆會自動騰出位置給圖片 Page Wrap
3 自動最適換頁 Optimal Page Wrap 圖片靠左邊時空出左前方;
圖片靠右邊時空出右後方
Left Page Wrap

Right Page Wrap
4 不環繞 Wrap Through 圖片把文字覆蓋住 No Wrap
5 置於背景 In Background 圖片和文字重疊在一起 In Background

鎖定有4種模式:
中文用語 英文用語 說   明 文字異動時的位置
1 頁面 To Page 圖片定錨在頁面上,圖片能拖放到所在的當頁的任何位置上; 圖片無法拖到別的頁面,只能在當頁移動 當文字內容有變動時,圖片仍固定在位置上,不受影響
2 段落 To Paragraph 圖片定錨在放置位置的段落上 圖片隨段落的變動而變更其位置:有加新行時會自動往下移動,但若水平增刪文字則圖片位置不變
3 字元 To Character 與在段落上類似
4 當作字元 As Character 把圖片當做一個字 圖片只能垂直移動,無法水平移動;只能在當列上操作。無換行選項可用

## ...繼續閱讀

Posted by emisjerry at 樂多Roodo!22:57引用(0)

[OOo] 狀態列彙總

OpenOffice.org Writer的狀態列分成許多格,且各有不同含義,以下用數字逐個說明。

ooo status bar
(1)頁碼;雙擊顯示助手窗
(2)頁面樣式;雙擊顯示頁面樣式窗,右鍵選取別的樣式
(3)顯示比例;雙擊顯示比例窗,右鍵選取不同比例
(4)插入或覆寫
(5)選取模式:標準、擴展、補充
(6)超連結模式:HYP=連結,SEL=編輯超連結字串
(7)資訊欄位:顯示不同物件之資訊。若點選圖片在此區域雙擊則開啟圖片設定視窗;選取表格則開啟表格視窗;都未選取任物物件時則開啟欄位指令(功能變數)視窗


標準(STD): 一般的文字標示方式;同時只有一組選取存在
擴展(EXT): 起迄方式標示大段文字
補充(ADD): 多個選取文字同時存在

## ...繼續閱讀

Posted by emisjerry at 樂多Roodo!14:46引用(0)

2006年04月2日

[OOo] 項目符號與編號的簡要操作

以下彙總我所理解的OpenOffice.org Writer的符號項目與編號的操作,希望對尚不熟悉OpenOffice.org Writer的朋友們,能加速熟練的速度。

我們的測試文章以第一點、第二點等項目組成:

  1. 首先輸入「第一點」,再按右上角工作列上的顯示/隱入編號按鈕。則第一點開頭會插入1.字串。
  2. 再按一次顯示/隱入編號則可把編號取消掉,即顯示/隱入編號是一個切換式的功能。
    OOo Numbering 1
    顯示/隱入編號  
    OOo numbering 2

  3. 1. 第一點後面按Enter,則自動插入2.編號,表示接續的是第2點,輸入「第二點」,按Enter再輸入第三點、第四點。
    OOo numbering 3
  4. 如果要在第一點下面增加子項目,如1.1、1.2等,基本上只要按Tab鍵即可:
    首先把游標移到1. 第一點最末處,按Enter,則會變成5點OOo number 4
    按右鍵,選向下一級或按Tab鍵。

    另外,向上一級的按鍵是
    Shift-Tab
    OOo numbering 5
    向下一級就可建立第一點的子項目;用右鍵功能表或【功能表→格式】,即可用項目符號與編號...來設定不同的項目格式。
    OOo numbering 6
    在大綱頁籤裡選擇第2種格式,讓子項目變成1.1.、1.2.的樣式OOo numbering 8
    再輸入文字,最後的面貌如右所示:OOo numbering 9
  5. 在文章中的某段落,編號要重新編號,而不是連續的「5. 第五點」,可以用右鍵功能表內的重新開始編號,則
    OOo numbering 10
    重新開始編號
    OOo numbering 11

##






...繼續閱讀

Posted by emisjerry at 樂多Roodo!1:00引用(0)

2006年04月1日

[OOo] 自行製行符號工具列

中文拚點包啟發了自行製作常用符號或字串的作法。首先是自行建立一個新巨集程式庫。

  1. 點選【工具→巨集→組織巨集→OpenOffice.org Basic...】,按右下角的管理
  2. 選【程式庫】頁籤,位置:我的巨集與對話方塊,按新建按鈕,並輸入新的程式庫名稱(如MyLibrary)
  3. 按關閉回到基本巨集視窗,則在我的巨集之下,可以看到多了一個MyLibrary的節點
  4. 按關閉返回Writer主畫面

做好新的巨集程式庫後便可以開始錄製巨集了:

  1. 點選【工具→巨集→錄製巨集】,出現錄製巨集小視窗
  2. 【插入→特殊字元】→字形:新細明體,子集:半形和全形→挑選逗點(,)
  3. 在巨集小視窗按【結束記錄】,出現基本巨集視窗,在巨集名稱處輸入巨集名(Symbol1),再把游標移動到MyLibrary上
  4. 按儲存按鈕,基本視窗自行關閉
  5. 點選【工具→巨集→組織巨集→OpenOffice.org Basic...】,可以看到MyLibrary下的Module1模組多了Symbol1巨集
  6. 按編輯按鈕觀看產生出的Basic指令,把sub Symbol1一直到end sub的內容複製另一份,再把第二份的sub Symbol1改名sub Symbol2,則立即製作出第二個巨集,再把指令中的全形逗點換成別的符號(如句點。)
  7. 重覆步驟6即可依需求製作出多個符號巨集

OOo Macros

接著再製作新的工具列來存放這些符號巨集。

  1. 點選【工具→自訂...】,按新增按鈕,給新的工具列一個名稱,如:MyToolbar
    new Toolbar
  2. 將巨集設定進MyToolbar,依序選擇Symbol1、 Symbol2後按關閉
    ooo Toolbar 2
  3. 回到工具列視窗後,用修改→重新命名... 把Symbol1、Symbol2改成逗點和句點(即,和。),也可指定圖示給某個工具列上的指令
    OOo Toolbar 3

這樣我們就自己做了一個工具列,而且也把常用的符號給製作出來了。依此概念,經常需要使用的片語、圖形等也可以自行DIY了。

##

...繼續閱讀

Posted by emisjerry at 樂多Roodo!23:08引用(0)

2006年03月28日

[OOo] 中文拚點包的安裝步驟

Q: OpenOffice.org的Writer有像Word般,可以把符號顯示在下面這種功能嗎?
A: 安裝中文點包。

安裝中文拚點包到OpenOffice.org 2.0.X的步驟:

  1. 由作者Lin Qi的網站下載中文拚點包 3.0 Beta測試版
  2. 將下載的檔案ooopdb-3beta.tar解壓縮到暫存目錄,再將其內的basic、config子目錄複製到C:\Documents and Settings\使用者\
    Application Data\OpenOffice.org2\user

    DOS命令:
       cd  %APPDATA%
       cd  OpenOffice.org2\user
       xcopy  \暫存目錄\ooopdb3  /s
  3. 重新啟動OpenOffice.org 2.0
  4. 將出現的中文拚點包工具拖到適當位置

我稍微研究了一下拚點包的作法,基本上是用巨集來達成的,因此我們可以進入巨集裡把符號換成自己想要的別的符號。

##


Posted by emisjerry at 樂多Roodo!23:17回應(0)引用(0)
 [第一頁]  [1]  [2]  [3]  [4]  [最終頁]