Daša Bombjaková
21.10.2023
V tomto manuáli si ukážeme, ako exportovať vyznačený text z MS Word do MS Excel spolu s číslom odseku sa vyznačený text nachádza.
Krok 1: Otvorte si Microsoft Word dokument, z ktorého chcete exportovať vyznačený text:
Krok 2: V políčku určenom na vyhľadávanie zadajte “Visual Basic Editor”.

Krok 3: Po kliknutí na Visual Basic Editor sa Vám otvorí rozhranie editora:
Krok 4: Kliknite na “Module”:
Krok 5: Otvorí sa Vám prázdne okno, do ktorého budete zadávať príkazy:
Krok 6: Skopírujte nasledujúci príkaz do prázdneho okna:
Sub ExtractHighlightedTextWithParagraphNumbers()
Dim wdApp As Object ' Word Application
Dim wdDoc As Object ' Word Document
Dim xlApp As Object ' Excel Application
Dim xlWb As Object ' Excel Workbook
Dim xlWs As Object ' Excel Worksheet
Dim i As Long
Dim paraCounter As Long
' Create new Word and Excel instances
Set wdApp = CreateObject("Word.Application")
Set xlApp = CreateObject("Excel.Application")
' Open the Word document
Set wdDoc = wdApp.Documents.Open("E:\VBA\bla.docx") ' Update the file path
' Add a new Excel workbook
Set xlWb = xlApp.Workbooks.Add
Set xlWs = xlWb.Sheets(1)
' Set Excel column headers
xlWs.Cells(1, 1).Value = "Paragraph Number"
xlWs.Cells(1, 2).Value = "Highlighted Text"
' Initialize row counter and paragraph counter
i = 2
paraCounter = 1
' Loop through all paragraphs in the Word document
For Each para In wdDoc.Paragraphs
' Loop through each character in the paragraph
For Each rng In para.Range.Words
' Check if the character is highlighted
If rng.HighlightColorIndex <> wdNoHighlight Then
' Write the paragraph number and highlighted text to Excel
xlWs.Cells(i, 1).Value = paraCounter
xlWs.Cells(i, 2).Value = rng.Text
i = i + 1
End If
Next rng
' Increment the paragraph counter
paraCounter = paraCounter + 1
Next para
' Save the Excel workbook in the same folder as the Word document
xlWb.SaveAs "E:\VBA\HighlightedTextWithParagraphNumbers.xlsx" ' File will be saved as "HighlightedTextWithParagraphNumbers.xlsx" in E:\VBA\
' Close the Excel workbook
xlWb.Close
' Close the Word document
wdDoc.Close
' Clean up
Set xlWs = Nothing
Set xlWb = Nothing
Set xlApp = Nothing
Set rng = Nothing
Set wdDoc = Nothing
Set wdApp = Nothing
End Sub
Krok 7: V príkaze je potrebné urobiť zmeny v nasledujúcom riadku:
Set wdDoc = wdApp.Documents.Open("E:\VBA\bla.docx")
V zátvorke je opísané, kde v PC sa nachádza MS Word dokument, z ktorého budú exportované vyznačené časti. V tomto prípade ide o disk “E”, zložku s názvom “VBA” a docx dokument s názvom “bla.docx”.
Všeobecné odporúčanie: odstráňte z názvov dokumentov diakritiku.
Krok 8: V príkaze je potrebné urobiť zmeny v nasledujúcom riadku:
xlWb.SaveAs "E:\VBA\HighlightedTextWithParagraphNumbers.xlsx"
Týmto príkazom sa vytvorí MS Excel dokument s názvom “HighlightedTextWithParagraphNumbers.xlsx”. Príkaz tiež stanovuje miesto, kde bude dokument uložený; v tomto prípade na disku E, v priečinku s názvom “VBA”. Zmeňte lokalitu súboru podľa vlastného uváženia.
Krok 9: Po upravení príkazu, klinite na “Run Sub” tlačidlo v paneli nástrojov aplikácie Visual Basic Editor:
“Run Sub” tlačidlo sa podobá na symbol “prehrať”.
Krok 10: Skontrolujte priečinok, či sa Vám vytvoril Excel súbor “HighlightedText.xlsx” s exportovanými dátami:
Krok 11: Kontrola obsahu
exportovaných dát:
Skontrolujte, či sa Vám vytvorili tri stĺpce a či údaje korešpondujú s východzím word dokumentom: