Sådan batch ændres rækkefølgen af ​​for- og efternavn på en liste i Word-dokument

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.Batch Skift rækkefølgen af ​​for- og efternavn på en liste

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

  1. Først og fremmest skal du oprette en tabel med 2 kolonner og flere rækker i Word.
  2. I den første kolonne skal du indtaste navne, der skal ændre sekvensen. Pas på ikke at indtaste noget mellemrum efter navne.
  3. Lad den anden kolonne være tom.
  4. 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.Klik på "Udvikler" -> Klik på "Visual Basic"
  5. Opret nu et nyt modul ved at klikke på “Normal” i venstre kolonne.
  6. Klik derefter på "Indsæt" -fanen, og vælg "Modul" i rullemenuen.Klik på "Normal" -> Klik på "Indsæt" -> Klik på "Modul"
  7. Dobbeltklik derefter på det nye modul for at åbne det.
  8. 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
  1. Til sidst skal du klikke på "Kør".Indsæt koder-> Klik 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:Skift navneordren

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

Kommentarer er lukket.