Ik zoek iemand die het volgende kan inpassen in de volgende code. Zelf heb ik geen VB-skills, maar heb wel veel geprogrammeert met matlab, en dit zou met matlab wel werken. Het gaat maar om 3 regels, dus laat je niet afschrikken door de lengte van de code;)
Het probleem: Na synchronisatie met mijn telefoon heeft outlook ongeveer de helft van de achternamen in het vak "tussenvoegsel" geplaatst, dit vak wordt ook wel "Middelste Naam" genoemd. Ik wil dus een code hebben die voor elke contactpersoon kijkt:
1. Of er een achternaam is,
2. zo nee: is er een middelste naam?
3. zo ja: achternaam = middelste naam.
4. verwijder middelste naam.
Dit heb ik alsvolgt gedaan:
Het probleem: Na synchronisatie met mijn telefoon heeft outlook ongeveer de helft van de achternamen in het vak "tussenvoegsel" geplaatst, dit vak wordt ook wel "Middelste Naam" genoemd. Ik wil dus een code hebben die voor elke contactpersoon kijkt:
1. Of er een achternaam is,
2. zo nee: is er een middelste naam?
3. zo ja: achternaam = middelste naam.
4. verwijder middelste naam.
Dit heb ik alsvolgt gedaan:
Visual Basic: ThisOutlookSession
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
| Public Sub ChangeFileAs() Dim objOL As Outlook.Application Dim objNS As Outlook.NameSpace Dim objContact As Outlook.ContactItem Dim objItems As Outlook.Items Dim objContactsFolder As Outlook.MAPIFolder Dim obj As Object Dim strFirstName As String Dim strLastName As String Dim strFileAs As String On Error Resume Next Set objOL = CreateObject("Outlook.Application") Set objNS = objOL.GetNamespace("MAPI") Set objContactsFolder = objNS.GetDefaultFolder(olFolderContacts) Set objItems = objContactsFolder.Items For Each obj In objItems 'Test for contact and not distribution list If obj.Class = olContact Then Set objContact = obj With objContact ' Uncomment the strFileAs line for the desired format If .isempty(.LastName) Then %%%Geen idee of outlook dit begrijpt? In matlab werkt het wel If .isempty(.MiddleName)==0 Then %%%ik wil dus dat dit geld als hij dus niet leeg is .LastName=.Middlename .Middlename = [] &&&Ook geen idee hoe ik de middlename dan leeg moet maken? End If End If .Save End With End If Err.Clear Next Set objOL = Nothing Set objNS = Nothing Set obj = Nothing Set objContact = Nothing Set objItems = Nothing Set objContactsFolder = Nothing End Sub |