2013-05-21 33 views
0

我想在Word 2010中做一個簡單的郵件合併,但是當我插入一個應該代表康涅狄格州(即06880)的郵政編碼的Excel字段我是有2個問題:郵政編碼+4郵件合併對待像一個算術表達式

  1. 前導零受到壓制,如06880變成了6880。我知道我至少可以切換字段代碼,使其能夠像{MERGEFIELD ZipCode#00000}那樣工作,至少可以工作。

但這裏真正的問題,我似乎無法弄清楚:

  1. 的zip + 4場如06470-5530得到像算術表達式處理。 6470 - 5530 = 940因此,通過使用上述公式,它會變成00940這是錯誤的。

也許在我的Excel電子表格中有一些東西或Word中的一個選項,我需要設置它才能正常工作?請指教,謝謝。

+1

在數據加載之前將單元格的格式設置爲文本(鼠標右鍵 - >格式單元格 - >文本) – momobo

+0

您確實應該顯示用於有問題的合併的代碼/宏。 – jww

回答

0

macropod's post in this conversation

只要ZIP碼達到的Word(帶或不帶「 - 」的5個+ 4格式的ZIP探頭的跡象,他的域代碼應理清頭緒但是,如果你是混合文本。以及Excel列中的數字格式,則OLE DB提供程序或ODBC驅動程序(如果這是您用來獲取數據的內容)存在危險,將將該列視爲數字,並將所有文本值都設爲0。

是的,Word有時會將文本字符串視爲您注意到的數字表達式,當您嘗試應用數字格式時,或者當您嘗試在{=}字段中進行計算時,當您將tabl電子郵件內容在{=}字段中,或者當Word決定在(例如){IF}字段中進行數字比較時 - 在後一種情況下,您可以通過將比較結果包圍雙倍值-quotes。

0

在Excel中,當輸入看起來像數字,日期,分數等的數據時強制字符串數據類型,但不是數字(zip,電話號碼等),只需在數據之前輸入撇號。

=06470將被解釋爲一個數6470,但='06470將字符串「06470」

+0

在一般情況下,這不足以解決問題,除非用戶使用DDE連接到Excel。爲什麼?當Word通過OLE DB(Windows Word 2002及更高版本中的默認設置)或ODBC從Excel獲取數據時,OLE DB提供程序/ ODBC驅動程序根據前8個(默認情況下)爲數據源中的每列確定數據類型,列中的單元格。因此,如果您的前8個單元格包含作爲數字輸入的郵政編碼,提供商/驅動程序會將該列視爲數字。列中的文本值將通過Word傳遞給0。因此'06470將被視爲0.所以不是「簡單」! – 2014-01-13 17:57:29

0

我發現最簡單的解決方法是保存Excel文件爲CSV。然後Word將它全部用於面值。

相關問題