Pregunta

Estoy tratando de limpiar mis contactos de Outlook 2003, que se han convertido en un lío bastante feo de varios formatos, etc.

Básicamente, tengo un montón de contactos, en la forma de:

0xxxxxxxxx [diez dígitos, comenzando con 0] 0xxxxxxxx [nueve dígitos, comenzando con 0] 0xxxxxxxx (xxxxx) [los mismos nueve dígitos anteriores con los últimos cinco repetidos entre paréntesis] + xxxxxxx [algunos aleatorios " completos " número con un código de marcación internacional, etc.]

Quiero que todos los números coincidan con el último formato. El algoritmo es bastante simple: para los dos primeros tipos, elimine el 0 y agregue + YYY, donde YYY es el código de mi país. Lo mismo ocurre con el tercero, pero deja todo entre paréntesis.

Mi problema es que no sé cómo hacer esto. Escribí un millón de scripts en mi vida en Perl, pero preferiría no exportar todo a texto, procesarlo y volver a importar; Me gustaría tener una solución de un solo clic que se pueda volver a ejecutar fácilmente (como cuando importo un nuevo contacto del directorio de mi empresa que viene en uno de los formularios anteriores). Sospecho que VBScript es el camino a seguir; He visto algunas referencias en línea para acceder a contactos como objetos, pero no estoy realmente seguro de cuál es la mejor manera de comenzar.

¿Algún recurso recomendado?

Este es un duplicado de https://superuser.com/questions/15913/ script-para-modificar-Outlook-2003-contactos ; No estoy seguro de qué sitio es mejor ubicación

¿Fue útil?

Solución

Yo diría que VBA, en lugar de VBScript.

Sub GetContactsTel()

    Set oFolder = GetNamespace("MAPI").GetDefaultFolder(olFolderContacts)
    ' Loop through all of the items in the folder.
    For i = 1 To oFolder.Items.Count
       Debug.Print oFolder.Items(i).BusinessTelephoneNumber
    Next

End Sub
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top