Předpokládám že nestačí klávesa Ctrl+H "Najít a nahradit", protože je potřeba náhrada více textů?
Nainstaloval jsem si LibreOffice (OpenOffice mi tu přestal jet, tuhne) a tady našel celkem dobře popsaný návod
https://prahladyeri.com/blog/2016/02/te ... cipes.htmlVytvoření makra např. v tabulkovém kalkulátoru (v jiných dokumentech podobné, jen budou trochu jiné objekty):
V menu zvolit: Nástroje / Makra / Správce maker / LibreOffice Basic. Tam si buď vybrat globální makra "Moje makra" (budou fungovat ve všech sešitech) nebo vybrat editovaný sešit a v něm založit nové makro přes Nový (vlevo nahoře se zadá jméno makra, příp. i jméno nově vytvořené knihovny).
Otevře se editor makra v jazyku Basic. Vložit makro podle příkladu dole. V poli "hledat()" se zadají hledané řetězce, v poli "nahradit()" se zadají náhradní řetězec. Ke každému textu v hledat() přísluší jeden text v nahradit(). Makro uložit.
Spuštění makra - buď přes menu Nástroje / Makra / Spustit makro, nebo přes horkou klávesu. Horká klávesa se nadefinuje v Nástroje / Přizpůsobit / Klávesnice. Dole se vyhledá to makro v kategorii Makra LibreOffice. Nahoře se vybere klávesa a tlačítkem Změnit se klávese přiřadí makro. Pokud je to tlačítko šedé, popojet v seznamu na jinou klávesu a zpět.
Makro funguje v aktuálně vybraném listu (původní zdroj byl jen pro list 0).
- Kód: Vybrat vše
Sub Nahrada
Dim hledat() As String
Dim nahradit() As String
Dim n As Long
Dim sheet As Object
Dim replace As Object
hledat() = Array("Pepa", "Karel")
nahradit() = Array("Pepik", "Karlik")
sheet = ThisComponent.CurrentController.ActiveSheet
replace = sheet.createReplaceDescriptor
For n = lbound(hledat()) To ubound(hledat())
replace.SearchString = hledat(n)
replace.ReplaceString = nahradit(n)
sheet.replaceAll(replace)
Next n
End Sub