Script eliminare diacritice în OpenOffice

Deși încerc să evit să trimit orice altceva decât PDF-uri și mailuri, mi se întâmplă destul de des să trebuiască să trimit altfel de documente, în format editabil – de cele mai multe ori doc-uri și xls-ul. Și pentru că minunatul pseudo sistem de operare Windows încă n-a învățat corect diacriticele românești, trebuie să le elimin din documentul master și să le înlocuiesc cu a, i, s, t.

Mai jos este un mic script scris pentru OpenOffice Basic. Pentru a-l introduce, mergeți la Unelte > Macro > Organizare Macro > OpenOffice Basic, creați nu nou script și botezați-l ceva de genul “Eliminare Diacritice”. După aia îl puteți rula prin Unelte > Macro > Rulează Macro.

Pentru moment funționează pentru OO Writer și OO Calc, n-am avut nevoie decât o dată pentru OO Impress, dar extinderea lui n-ar trebui să fie foarte dificilă. Dacă folosiți alte feluri de diacritice, le puteți introduce în cele două array-uri din liniile 7 și 8.

Sub Main
	Dim searchArray, replaceArray
	Dim i as integer
	Dim oReplace as object
	Dim oDoc as object

	searchArray = Array ("ă", "Ă", "â", "Â", "î", "Î", "ș", "Ș", "ț", "Ț")
	replaceArray = Array("a", "A", "a", "A", "i", "I", "s", "S", "t", "T")

	if ThisComponent.identifier = "com.sun.star.sheet.SpreadsheetDocument" then
		oSheets = ThisComponent.getSheets()
		for j = 0 to oSheets.Count - 1
			oDoc = oSheets.getByIndex(j)
			oReplace = oDoc.createSearchDescriptor()
			for i = 0 to ubound(searchArray)
				with oReplace
					.SearchString = searchArray(i)
					.ReplaceString = replaceArray(i)
					.SearchCaseSensitive = true
				end with
				oDoc.replaceAll(oReplace)
			next i
		next j
	elseif ThisComponent.identifier = "com.sun.star.text.TextDocument" then
		oDoc = ThisComponent
		oReplace = oDoc.createSearchDescriptor()
		for i = 0 to ubound(searchArray)
			with oReplace
				.SearchString = searchArray(i)
				.ReplaceString = replaceArray(i)
				.SearchCaseSensitive = true
			end with
			oDoc.replaceAll(oReplace)
		next i
	else
		print "Nu stiu ce fel de document e asta, asa ca nu ma bag..."
	end if
End Sub

Enjoy ;)

TwitterFacebookLinkedInGoogle ReaderYahoo MessengerEmailGoogle GmailYahoo MailPrintShare

Related posts:

  1. Posturi cu diacritice
  2. Diacritice și fonturi în Linux

Leave a Reply

Your email address will not be published. Required fields are marked *

*


1 × five =

CommentLuv badge