1. 程式人生 > >word2003郵件合併後保留小數點位數問題

word2003郵件合併後保留小數點位數問題

《Word非常接觸》對郵件合併保留資料原格式的精彩論述

請參考:

①在主文件內按Alt+F9快捷鍵若干次,直到主文件內顯示出{ MERGEFIELD "抵押率()"}為止。

②選定{ MERGEFIELD "抵押率()" },按Ctrl+F9快捷鍵為之加上一個域括號,變成{ { MERGEFIELD "抵押率()" } }。

③在{ { MERGEFIELD "抵押率()" } }中輸入一個等號,使之變成{ ={ MERGEFIELD "抵押率()" } },先按一次Alt+F9快捷鍵,然後再按一次F9鍵以重新整理域,即可看到原來的66.670000000000002已經變成了66.67。

以下是守柔版主與如意版主的大作《Word非常接觸》第309頁、第311頁的部分內容,請chencha8077兄參考:
QUOTE:

使用巢狀域程式碼{ ={ MERGEFIELD "語文" } }可保留資料來源中原資料格式,即如果“語文”成績為整數時,該域結果也為整數,如果“語文”成績為1位小數時,該域結果也保留1位小數。

----------------------------------------------------------------------------------------------------------------------------------

將資料從資料來源通過郵件合併方式提取到Word時,對於非整數如2.9,可能顯示為2.8999999999999999。

使用“\#”數字圖片開關,可保留統一的小數位數,如{ MERGEFIELD "合併域" \#"0.00" },可將“合併域”欄位的所有資料保留小數點後2位小數。

使用“=(Formula)”公式域時,可取得與資料來源中一致的資料格式,如{ ={ MERGEFIELD "合併域" } }。

可以在excel表格中用MID函式將指定資料的小數點後位數加以限定,就能輕鬆解決。


小芊是公司人力資源部的薪資專員,領導給她安排了一項新任務——為每位員工列印一張薪資通知單,小芊自信滿滿:Word郵件合併功能可以快速完成任務!可是一會兒小芊就眉頭緊鎖,原來她遇到了意想不到的難題——進行Word郵件合併之後,作為“資料來源檔案”的Excel表中本來保留2位小數位數的數字居然顯示為保留十幾位小數位數(見圖1)。

問題真的這麼難解決嗎?其實只需一個簡單的操作,問題馬上迎刃而解,這把萬能鑰匙就是——修改“Word域程式碼”!下面就來看看它是如何發揮神奇功用的吧。

具體操作如下:

  第一步:將游標移到需要改變小數點後位數的“域程式碼”上(如《基本工資》),待其變成灰色後用滑鼠右擊,執行“切換域程式碼”命令,灰色部分立刻顯示為“{MERGEFIELD “基本工資”}”。滑鼠繼續右擊灰色部分,執行“編輯域”命令,彈出“域”對話方塊(見圖3),

先選擇“域名”列表框中的“NumWords”,再選擇“數字格式”列表中的“#,##0.00”。

  第二步:單擊“域”對話方塊左下角的“域程式碼”按鈕,將“域程式碼”視窗中的藍色部分“\#”#,##0.00””複製下來,再回到Word主介面,將已複製的程式碼“\#”#,##0.00””貼上在灰色的域程式碼中間。依法炮製,將《獎金》的域程式碼進行同樣的修改(見圖4)。

  完成以上一系列操作之後,點選“合併到新文件”按鈕,一個全新的Word文件生成了,每張通知單上都如願保留了2位小數位數,按下“列印”按鈕列印就可以了。

  Word郵件合併的域程式碼功能十分強大,本例中僅涉及其中一個小小的功能,只要對其充分利用,可以極大地提高工作效率。