如何從 Outlook 聯絡人電話號碼中移除國碼?
在「聯絡人」視窗中,當您點擊電話號碼前方的「商務」、「住家」、「傳真」或「行動電話」欄位按鈕,以開啟如下所示的「檢查電話號碼」對話方塊時,系統會自動在電話號碼前加上國碼。然而,有時其實並不需要國碼,您可能希望將其從所有電話號碼中移除。請嘗試以下解決方案:
從聯絡人的電話號碼中移除國碼
如果您只需從單一聯絡人的電話號碼中移除國碼,可依照下列步驟手動刪除:
1. 在「人員」(或「聯絡人」)檢視中,點選「檢視」>「變更檢視」>「電話」。請參閱截圖:

2. 按兩下開啟您要移除電話號碼中國碼的聯絡人。
3. 在開啟的聯絡人視窗中,請移除「電話號碼」區段指定欄位中的加號與國碼,然後點選「聯絡人」>「儲存並關閉」。

至此,指定的電話號碼中的國碼已如以下所示移除:

使用 VBA 從聯絡人的電話號碼中移除國碼
若需從 Outlook 所有聯絡人的電話號碼中移除國碼,透過 VBA 即可輕鬆完成。
1. 在「人員」(或「聯絡人」)檢視中,開啟包含您欲移除國碼之聯絡人的資料夾。
2. 同時按下「Alt」+「F11」鍵,即可開啟「Microsoft Visual Basic for Applications」視窗。
3. 點選「插入」>「模組」,並將下列 VBA 程式碼貼上至新開啟的模組指令碼中。
VBA:從所有聯絡人的所有電話號碼中移除國碼
Sub FixPhoneFormat()
Dim oFolder As MAPIFolder
Set oFolder = Application.ActiveExplorer.CurrentFolder
If Left(UCase(oFolder.DefaultMessageClass), 11) <> "IPM.CONTACT" Then
MsgBox "You need to select a Contacts folder", vbExclamation
Exit Sub
End If
Dim nCounter As Integer
nCounter = 0
Dim oItem
For Each oItem In oFolder.Items
Dim oContact As ContactItem
If TypeName(oItem) <> "DistListItem" Then
Set oContact = oItem
With oContact
.AssistantTelephoneNumber = FixFormatUSPhone(.AssistantTelephoneNumber)
.Business2TelephoneNumber = FixFormatUSPhone(.Business2TelephoneNumber)
.BusinessFaxNumber = FixFormatUSPhone(.BusinessFaxNumber)
.BusinessTelephoneNumber = FixFormatUSPhone(.BusinessTelephoneNumber)
.CallbackTelephoneNumber = FixFormatUSPhone(.CallbackTelephoneNumber)
.CarTelephoneNumber = FixFormatUSPhone(.CarTelephoneNumber)
.CompanyMainTelephoneNumber = FixFormatUSPhone(.CompanyMainTelephoneNumber)
.Home2TelephoneNumber = FixFormatUSPhone(.Home2TelephoneNumber)
.HomeFaxNumber = FixFormatUSPhone(.HomeFaxNumber)
.HomeTelephoneNumber = FixFormatUSPhone(.HomeTelephoneNumber)
.ISDNNumber = FixFormatUSPhone(.ISDNNumber)
.MobileTelephoneNumber = FixFormatUSPhone(.MobileTelephoneNumber)
.OtherFaxNumber = FixFormatUSPhone(.OtherFaxNumber)
.OtherTelephoneNumber = FixFormatUSPhone(.OtherTelephoneNumber)
.PagerNumber = FixFormatUSPhone(.PagerNumber)
.PrimaryTelephoneNumber = FixFormatUSPhone(.PrimaryTelephoneNumber)
.RadioTelephoneNumber = FixFormatUSPhone(.RadioTelephoneNumber)
.TelexNumber = FixFormatUSPhone(.TelexNumber)
.TTYTDDTelephoneNumber = FixFormatUSPhone(.TTYTDDTelephoneNumber)
.Save
nCounter = nCounter + 1
End With
End If
Next
MsgBox nCounter & " contacts processed.", vbInformation
End Sub
Private Function FixFormatUSPhone(Phone As String) As String
Phone = Trim(Phone)
FixFormatUSPhone = Phone
If Phone = "" Then Exit Function
Dim prefix As String
prefix = Left(Phone, 1)
Do While (prefix = "+" Or prefix = "1")
Phone = Mid(Phone, 3)
prefix = Left(Phone, 1)
Loop
Phone = Replace(Phone, "(", "")
Phone = Replace(Phone, ")", "")
Phone = Replace(Phone, ".", "")
Phone = Replace(Phone, " ", "")
Phone = Replace(Phone, "-", "")
FixFormatUSPhone = Phone
End Function 4. 按下「F5」鍵或點擊「執行」按鈕,即可執行 VBA。
5. 接著會彈出一個對話方塊,顯示已處理的聯絡人數量,請點擊「確定」按鈕關閉該視窗。

現在,您會發現所有聯絡人各類電話號碼中的國碼都已移除。請參閱以下截圖:

相關文章
最佳 Office 生產力工具
體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!
🤖KUTOOLS AI:運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!
📧 郵件自動化:自動答覆(支援 POP 與 IMAP)/預約寄送郵件/寄信時依規則自動抄送密送/自動轉發(高級規則)/自動加入問候語/自動將多收件人郵件拆分為個別訊息……
📨 郵件管理:撤回郵件/依主旨等條件封鎖詐騙郵件/刪除重複郵件/高級搜尋/整合文件夾……
📁 附件專業版:批次儲存/批次解除附加/批次壓縮/自動保存/自動拆離/自動壓縮……
🌟 介面魔法:😊更多精美酷炫表情符號/重要郵件來到時提醒您/最小化 Outlook 而非關閉……
👍 一鍵奇蹟:帶附件全部答復/防釣魚郵件/🕘顯示發送者當前時間時區……
👩🏼🤝👩🏻 聯絡人與行事曆:從選取的郵件中批次新增聯絡人/將聯繫人組拆分為個別群組/移除生日提醒……
用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!
立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!


🚀 一鍵下載 — 立即取得所有 Office 增益集
強烈推薦:Kutools for Office(5 合 1)
一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPoint 與 Office Tab Pro!立即點擊下載!
- ✅ 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
- 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
- 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint