Hola,estoy programando con Lbreoffice Basic pero no se cuales son las funciones equivalentes a sustituir y reemplazar(en código) de la hoja de calculo ¿Alguien lo sabe?
A1: LibreOffice
A3: =sustituir(A1;"e";3) >> Libr3Offic3
Gracias, saludos:D
funciones basic
funciones basic
XP + AOO 4.0.0 / W10Home + LibOff 5.4
- PepeOooSevilla
- Mensajes: 1480
- Registrado: Sab Abr 04, 2009 6:10 pm
- Ubicación: Sevilla (España)
Re: funciones basic
Hola.
En el apartado "7. String Routines" del libro "OpenOffice.org Macros Explained.odt V4" de Andrew Pitonyak (http://www.pitonyak.org/oo.php) figura una relación de las funciones para el tratamiento de cadenas de caracteres en OOBasic. Este libro junto con Aprendiendo OOo Basic de nuestro compañero mauricio son primordiales para conocer el lenguaje Basic de OpenOffice/LibreOffice.
Para el caso que nos ocupa la función que necesitas es Replace(strng, find, rpl, start, Count, mode) (como mi inglés no es bueno me ayudo del traductor de Google ):
Saludos cordiales.
En el apartado "7. String Routines" del libro "OpenOffice.org Macros Explained.odt V4" de Andrew Pitonyak (http://www.pitonyak.org/oo.php) figura una relación de las funciones para el tratamiento de cadenas de caracteres en OOBasic. Este libro junto con Aprendiendo OOo Basic de nuestro compañero mauricio son primordiales para conocer el lenguaje Basic de OpenOffice/LibreOffice.
Para el caso que nos ocupa la función que necesitas es Replace(strng, find, rpl, start, Count, mode) (como mi inglés no es bueno me ayudo del traductor de Google ):
Andrew Pitonyak escribió:But wait, there is an undocumented statement Replace(strng, find, rpl, start, Count, mode), which finds all occurrences of find and replaces them with rpl. The last three arguments are optional.
The start value indicates what part of the string to return, not where to start replace. A value of one for the start value returns all of the characters. A start value of three ignores the first two characters in the return string.
The count indicates the maximum number of times to replace the found text. A value of -1 replaces all values.
A mode value of 1, the default, indicates a case-insensitive compare is used to find matching text. A mode value of 0 causes a case-sensitive compare.
Si trabajas con una versión antigua de OpenOffice/LibreOffice puede que el intérprete Basic no reconozca la función Replace(), en tal caso puedes utilizar el código siguiente de la página Strings (OpenOffice.org BASIC Runtime Library)Traductor de Google escribió:Pero espere, hay una declaración no documentada Reemplazar (strng, find, rpl, start, Count, mode), que encuentra todas las apariciones de find y las reemplaza por rpl. Los últimos tres argumentos son opcionales.
El valor de inicio indica qué parte de la cadena devolver, no dónde comenzar a reemplazar. Un valor de uno para el valor de inicio devuelve todos los caracteres. Un valor de inicio de tres ignora los dos primeros caracteres de la cadena de retorno.
El conteo indica el número máximo de veces para reemplazar el texto encontrado. Un valor de -1 reemplaza todos los valores.
Un valor de modo de 1, el valor predeterminado, indica que se utiliza una comparación entre mayúsculas y minúsculas para encontrar el texto coincidente. Un valor de modo de 0 causa una comparación entre mayúsculas y minúsculas.
Código: Seleccionar todo
Function Replace(Source As String, Search As String, NewPart As String) As String
Dim Result As String
Dim StartPos As Long
Dim CurrentPos As Long
Result = ""
StartPos = 1
CurrentPos = 1
If Search = "" Then
Result = Source
Else
Do While CurrentPos <> 0
CurrentPos = InStr(StartPos, Source, Search)
If CurrentPos <> 0 Then
Result = Result + Mid(Source, StartPos, _
CurrentPos - StartPos)
Result = Result + NewPart
StartPos = CurrentPos + Len(Search)
Else
Result = Result + Mid(Source, StartPos, Len(Source))
End If ' Position <> 0
Loop
End If
Replace = Result
End Function
LibreOffice 6.4.6. Windows 10. Java 8 rev. 261 (64 bits)
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.
Por favor, utiliza el Foro para tus consultas, no los mensajes privados
Si usas OpenOffice/LibreOffice trabaja y guarda en ODT, ODS, ODP, ... Y haz copias de seguridad.