I dette indlæg er vi glade for at vise dig, hvordan du batchvis ændrer rækkefølgen af for- og efternavn i en liste i et Word-dokument.
Et engelsk navn inkluderer fornavn, mellemnavn og efternavn. Og det er skrevet i samme rækkefølge. Som et resultat af globaliseringen udveksler mennesker fra forskellige kulturregioner nu oftere med hinanden end nogensinde. Derfor er der mange internationale konferencer i dag. Og navne på andre sprog har tendens til at have en anden rækkefølge. Derfor er der tidspunkter, hvor du har brug for at ændre rækkefølgen på for- og efternavn i en liste. Pointen er, hvordan vi kan gøre det i batch.
Faktisk kan du opnå dette i Word ved hjælp af en makro. Følg vores instruktioner nedenfor.
Skift rækkefølgen af fornavn og efternavn på en liste
- Først og fremmest skal du oprette en tabel med 2 kolonner og flere rækker i Word.
- I den første kolonne skal du indtaste navne, der skal ændre sekvensen. Pas på ikke at indtaste noget mellemrum efter navne.
- Lad den anden kolonne være tom.
- Herefter skal du klikke på fanen "Udvikler" og klikke på "Visual Basic" for at udløse VBA-editoren. Hvis fanen "Udvikler" ikke er tilgængelig, skal du trykke på "Alt + F11" i stedet.
- Opret nu et nyt modul ved at klikke på “Normal” i venstre kolonne.
- Klik derefter på "Indsæt" -fanen, og vælg "Modul" i rullemenuen.
- Dobbeltklik derefter på det nye modul for at åbne det.
- Og indsæt følgende koder der:
Sub ExchangeNameOrder()
Dim strOriginalName As String, strNewName As String
Dim aryOriginalName() As String
Dim nIndex As Integer
Dim objTable As Table
Dim objOriginalName As Cell
Dim objOriginalNameRange As Range
Dim objExchangedNameRange As Range
Dim nRowNumber As Integer
Set objTable = ActiveDocument.Tables(1)
nRowNumber = 1
' Traversing the names in column 1
For Each objOriginalName In objTable.Columns(1).Cells
Set objOriginalNameRange = objOriginalName.Range
objOriginalNameRange.MoveEnd Unit:=wdCharacter, Count:=-1
Set objExchangedNameRange = objTable.Cell(i, 2).Range
objExchangedNameRange.MoveEnd Unit:=wdCharacter, Count:=-1
strOriginalName = objOriginalNameRange.Text
aryOriginalName() = Split(strOriginalName, " ")
' Exchange the order of first name and last name, and put the new name in column 2.
If UBound(aryOriginalName) > 0 Then
strNewName = aryOriginalName(UBound(aryOriginalName))
For nIndex = 1 To UBound(aryOriginalName) - 1
strNewName = strNewName & " " & aryOriginalName(nIndex)
Next nIndex
strNewName = strNewName & " " & aryOriginalName(0)
objExchangedNameRange.InsertAfter (strNewName)
Else
objExchangedNameRange.InsertAfter (strOriginalName)
End If
nRowNumber = nRowNumber + 1
Next objOriginalName
MsgBox ("The first name and last name have been exchanged the order in column2.")
End Sub
- Til sidst skal du klikke på "Kør".
Nu modtager du en meddelelsesboks, der informerer dig om, at udvekslingen er afsluttet. Du kan se navne i ny rækkefølge i den anden kolonne. Tjek resultatet nedenfor:
Dit sidste håb om at hente data tilbage
Uundgåeligt vil vi løbe ind i Word-problemer nu og da. Så trist som det lyder, er det også meget sandt. Men du skal huske på, at når der opstår et sammenbrud i Word, er der altid ting, vi kan gøre. Prøv først det indbyggede værktøj til korrupt ord. Hvis det ikke hjælper, hvilket er tilfældet hele tiden, kan du forankre dit håb i et avanceret reparationsprodukt.
Forfatter Introduktion:
Vera Chen er en datagendannelsesekspert i DataNumen, Inc., som er verdens førende inden for datagendannelsesteknologier, herunder gendanne xlsx og pdf produkter til reparation af software. For mere information besøg www.datanumen.com



