KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何從 Outlook 聯絡人電話號碼中移除國碼?

作者Kelly修改日期

在「聯絡人」視窗中,當您點擊電話號碼前方的「商務」、「住家」、「傳真」或「行動電話」欄位按鈕,以開啟如下所示的「檢查電話號碼」對話方塊時,系統會自動在電話號碼前加上國碼。然而,有時其實並不需要國碼,您可能希望將其從所有電話號碼中移除。請嘗試以下解決方案:


從聯絡人的電話號碼中移除國碼

如果您只需從單一聯絡人的電話號碼中移除國碼,可依照下列步驟手動刪除:

1. 在「人員」(或「聯絡人」)檢視中,點選「檢視」>「變更檢視」>「電話」。請參閱截圖:

doc-contacts-remove-country-code-1

2. 按兩下開啟您要移除電話號碼中國碼的聯絡人。

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

doc-contacts-remove-country-code-2

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

doc-contacts-remove-country-code-4


使用 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. 接著會彈出一個對話方塊,顯示已處理的聯絡人數量,請點擊「確定」按鈕關閉該視窗。

doc-contacts-remove-country-code-5

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

doc-contacts-remove-country-code-6


相關文章


最佳 Office 生產力工具

體驗全新 Kutools for Outlook,內含 100+ 項超強功能!立即點擊下載!

🤖KUTOOLS AI運用先進 AI 技術,輕鬆處理電子郵件——無論是回覆、摘要、優化、擴充、翻譯還是撰寫郵件,通通一鍵搞定!

📧 郵件自動化自動答覆(支援 POP 與 IMAP)預約寄送郵件寄信時依規則自動抄送密送自動轉發(高級規則)自動加入問候語自動將多收件人郵件拆分為個別訊息……

📨 郵件管理撤回郵件依主旨等條件封鎖詐騙郵件刪除重複郵件高級搜尋整合文件夾……

📁 附件專業版批次儲存批次解除附加批次壓縮自動保存自動拆離自動壓縮……

🌟 介面魔法😊更多精美酷炫表情符號重要郵件來到時提醒您最小化 Outlook 而非關閉……

👍 一鍵奇蹟帶附件全部答復防釣魚郵件🕘顯示發送者當前時間時區……

👩🏼‍🤝‍👩🏻 聯絡人與行事曆從選取的郵件中批次新增聯絡人將聯繫人組拆分為個別群組移除生日提醒……

用您的慣用語言暢享 Kutools — 完整支援英文、西班牙文、德文、法文、中文等 40 多種語言!

立即一鍵解鎖 Kutools for Outlook!別再等待,馬上下載,全面提升工作效率!

kutools for outlook features1kutools for outlook features2

🚀 一鍵下載 — 立即取得所有 Office 增益集

強烈推薦:Kutools for Office(5 合 1)

一鍵下載五個安裝程式,一次完成 — Kutools for Excel、Outlook、Word、PowerPointOffice Tab Pro立即點擊下載!

  • 一鍵便利:只需一次操作,即可下載全部五個安裝套件!
  • 🚀 隨時應對任何 Office 任務:按需安裝所需增益集,立即提升工作效率!
  • 🧰 包含:Kutools for Excel/Kutools for Outlook/Kutools for Word/Office Tab Pro/Kutools for PowerPoint