Fichas de Referencia L.O. Basic
Ficha nº 6.
Biblioteca de Ejecución
Nivel: Principiante
|
Esta ficha de referencia está bajo licencia de CreativeCommons BY-SA v3 (fr) o posterior.: https://creativecommons.org/licenses/by-sa/3.0/fr/ |
|
Este documento es una adaptación del documento original, en Francés, que se puede obtener en la Wiki de publicaciones de LibreOffice.
|
Versión |
Fecha |
Comentarios |
|
2.0 |
06/04/2019 |
Mise en forme. |
|
2.0_ES |
15/09/2026 |
Traducción y cambio de formato para esta versión |
Somos como enanos a hombros de gigantes. Si alcanzamos a ver más cosas y más lejanas que ellos, no es por la perspicacia de nuestra visión, ni por nuestra grandeza, sino porque son ellos quienes nos elevan. (atribuido a Bernard de Chartres )
Especificaciones, por módulo, antes de cualquier código ejecutable.
|
Option Explicit |
Impone la declaración explicita de variables. |
|
Option Compatible |
Para que LibO Basic se comporte como VBA. |
|
Option VBASupport 1 |
Activa la compatibilidad o el apoyo a VBA. |
|
Option Base 1 |
Indexar los arrays empezando por 1 en lugar de 0. |
|
Option ClassModule |
Utilizado para crear clases (+ Option Compatible). |
|
True |
Verdadero (Booleano) |
Empty |
Variable no inicializada. |
|
False |
Falso (Booleano) |
Null |
Variable sin contenido útil |
|
Pi |
3.14159265358979 (Doble) |
Nothing |
(objetos) elimina la asignación anterior. |
Sintaxis general de las funciones Resultado = NombreFunción(argumentos)
Funciones, Cadenas de caracteres (tipo String)
|
Asc() Chr() |
Devuelve el valor Ascii (del 1er carácter ) de una cadena de texto. |
|
Chr() Asc() |
Devuelve el carácter al que pertenece el código Ascii expresado. |
|
ConvertFromURL() ConvertToURL() |
Convierte un nombre de archivo del formato URL al formato del S.O. |
|
ConvertToURL() ConvertFromURL() |
Convierte un nombre de archivo del formato del S.O. al formato URL |
|
Cstr(), Str() Str(), Val() |
Convierte un numéro en cadena de texto.☛ Str(2.65) → "2.65"
|
|
Format() |
Covierte un número en texto con el formato de una máscara. |
|
InStr() |
Busca en una cadena de texto la posición de otra cadena y devuelve el |
|
Join() Split() |
Une los elementos de un array para convertirlos en una cadena de texto |
|
Lcase() Ucase() |
Convierte una cadena a minúsculas |
|
Left() Mid(),Right() |
Left(cadena, N)Extrae N caracteres de la cadena desde la izq. |
|
Len() |
Devuelve el número de caracteres de una cadena. |
|
Ltrim() Rtrim(), Trim() |
Elimina los espacios a la izquierda de una cadena (iniciales). |
|
Mid() Left(),Right() |
Mid(cadena, P, N). Extrae N caracteres. Del interior de una cadena a ☛ Mid("14/7/2017", 4, 1) → "7" |
|
Right() Mid(),Left() |
Right(cadena, N). Extae N caracteres de una cadena desde la derecha. |
|
Rtrim() Ltrim(), Trim() |
Elimina los espacios a la derecha de una cadena (finales) |
|
Space() String() |
Devuelve una cadena constituida por N espacios. |
|
Split() Join() |
Convierte una cadena de texto en un array separando los elementos por |
|
Str() |
Es lo mismo que CStr() |
|
StrComp() |
Compara dos cadenas y devuelve un entero (resultado de comparación). |
|
String() Space() |
Crea una cadena de N veces un carácter. |
|
Trim() LTrim(), RTrim() |
Elimina los espacios a Izquierda y derecha de una cadena. |
|
Ucase() LCase() |
Convierte una cadena en Mayúsculas. |
|
Val() Str(), CStr() |
Convierte una cadena en un valor numérico (0 si no se puede convertir) |
Funciones Numéricas
|
Abs() |
Devuelve el valor absoluto de un número. |
|
Exp() |
Exponencial. (Eleva a una potencia). |
|
Fix() |
Devuelve la parte entera de un número (sin redondearlo). |
|
Hex() |
Devuelve el valor hexadecimal de un número decimal. |
|
Int() |
Devuelve la parte entera de un número (redondeado a la baja). |
|
Log() |
Devuelve el logaritmo de un número. |
|
Oct() |
Devuelve el valor octal de un número decimal. |
|
Randomize() |
Inicializa un generador de números aleatorios *para la función Rnd()). |
|
Rnd() |
Devuelve un número aleatorio entre 0 y 1. *Vea Randomize() |
|
Sgn() |
Devuelve el signo de un número. |
|
Sqr() |
Calcula la raiz cuadrada de un número. |
Funciones Trigonométricas
Ángulos en radianes. (use la formula) radianes = (grados * Pi)/180
|
Atn() |
Arco tangente. |
Cos() |
Coseno. |
Tan() |
Tangente. |
Funciones fecha / hora
Formato de fecha «UNO»
La API LibreOffice utiliza de manera habitual las fechas «Uno»
com.sun.star.util.DateTime (.Date o bien .Time), que se estructura así:
|
IsUTC |
True si la zona hor. es UTC. |
Hours |
Horas (0-23). |
|
Year |
No del año |
Minutes |
Minutos (0-59). |
|
Month |
No del més (0 si está vacía). |
Seconds |
Segundos (0-59). |
|
Day |
No del día (0 si está vacía). |
NanoSeconds |
Nanosegundos. |
Date ↔ Uno Date: utilice las funciones de conversión CDateXxx siguientes.
Funciones fecha / hora
|
CDateFromISO() |
Convierte una cadena fecha en formato ISO al formato Date |
|
CDateFromUnoDate() |
Convierte una estructura UNO |
|
CDateFromUnoDateTime() |
Convierte una estructura UNO com.sun.star.util.DateTime en un |
|
CDateFromUnoTime() |
Convierte una estructura UNO com.sun.star.util.Time en un valor |
|
CDateToISO() |
Convierte la fecha en formato Date al formato ISO |
|
CDateToUnoDate() |
Convierte la fecha a la forma estructurada UNO |
|
CDateToUnoDateTime() |
Convierte fecha y hora a la forma estructurada UNO |
|
CDateToUnoTime() |
Convierte hora a la forma estructurada UNO |
|
Date() Now() y Time() |
Devuelve la fecha actual (tipo Date). |
|
DateAdd() |
Devuelve una nueva fecha calculada por una fecha de inicio , una |
Formatos de unidades de fecha:
|
yyyy |
Año |
m |
Mes |
w |
Día de la semana |
d |
Día |
m |
Minuto |
|
q |
Trimestre |
y |
Día del año |
ww |
Semana del año |
h |
Hora |
s |
Segundo |
|
DateDiff() |
Calcula la diferencia entre dos fechas, expresada en una unidad de fecha |
|
DatePart() |
Devuelve la parte especificada de la fecha (unidad elegida) ** |
|
DateSerial() |
Devuelve un valor fecha para una fecha calculada por tres elementos |
|
DateValue() |
Convierte una cadena de texto a un formato tipo Date |
|
Day() |
Devuelve el número del día del mes. ☛ Day("14/7/2017") → 14 |
|
Hour() |
Devuelve la hora ☛ Hour(Now()) → 12 (si es mediodía) |
|
Minute() |
Devuelve los minutos ☛ Minute(Now()) → 0 (si es en punto) |
|
Month() |
Devuelve el número del mes. ☛ Month("14/7/2017") → 7 |
|
Now() Date(), Time() |
Devuelve fecha y hora actual (formato Date). |
|
Second() |
Devuelve los segundos de un valor de tipo Date. |
|
Time() |
Devuelve la hora actual en tipo Date. *Vea Date(), Now() |
|
Timer() |
Devuelve un Double (número de segundos desde la medianoche).
|
|
TimeSerial() |
Devuelve un valor date calculado desde (hora, minuto y segundo) |
|
TimeValue() |
Convierte una cadena de texto válida en un valor tipo Date. |
|
Wait |
(instrucción) hace una pausa de un tiempo en millisegundos. |
|
WeekDay() |
Devuelve el número del día de lasemana (1 = domingo). |
|
Year() |
Devuelve el número del año ☛ Year("14/7/2017") → 2017 |
Funciones, Colores
Los colores se almacenan en variables Long.
|
Red(), Green(), Blue() |
Extraen los valores de los componentes de un color |
|
RGB() |
Devuelve el número (Long) corresp. a un color expresado en |
Funciones, Arrays
|
Array() |
Crea un array a partir de valores discretos. MiArray = Array("Uno", 2, Now()) |
||
|
DimArray() |
Equivalente a Array() ☛ MiArray = DimArray("Uno", 2, Now())
|
||
|
Erase |
(Instruccion) Borra el contendo del array. Si es dinámico lo libera de memoria. ☛ Erase MiArray |
||
|
LBound() |
Límite inferior. |
UBound() |
Límite superior. |
Funciones de consulta de tipo
Estas funciones permiten obtener información de las variables
De cualquier variable
|
TypeName() |
Devuelve una cadena de texto detallando la variable indicada. |
|
VarType() |
Devuelve un valor numérico relativo a la variable indicada. |
|
IsUnoStruct() |
Devuelve True si la variable indicada es una estructura UNO. |
Las dos primeras funciones devuelven los valores indicados en la tabla:
|
Tipo |
Nombre |
Tipo |
Nombre |
Tipo |
Nombre |
Tipo |
Nombre |
Tipo |
Nombre |
|
0 |
Empty |
3 |
Long |
6 |
Currency |
9 |
Object |
17 |
Byte |
|
1 |
Null |
4 |
Single |
7 |
Date |
11 |
Boolean |
37 |
Decimal |
|
2 |
Integer |
5 |
Double |
8 |
String |
12 |
Variant |
De tipo variants
Devuelven True según el tipo real detectado.
|
Función |
Verifica el tipo |
Función |
Verifica el tipo |
|
IsArray() |
Array |
IsNull() |
Null (sin datos). |
|
IsDate() |
Date. |
IsNumeric() |
Valor numérico. |
|
IsEmpty() |
Variable no inicializada |
IsObject() |
Objeto OLE. |
|
IsError() |
Valor de error. |
IsUNOStruct() |
True si es estructura UNO. |
De tipo objeto
(Vea Estructuras y objetos UNO)
Funciones de conversión de tipos (typecast)
Convierten un valor de un tipo (compatible) a otro. El nombre de la función refleja el tipo destino.
Legibilidad del código: Utilice con preferencia un typecast explicito a uno implícito.
|
CBool() |
a Boolean |
CDbl() |
a Double |
CSng() |
a Single |
|
CByte() |
a Byte |
CDec() |
a Decimal |
CStr() |
a String |
|
CCur() |
a Currency |
CInt() |
a Integer |
CVar() |
a Variant |
|
CDate() |
a Date |
CLng() |
a Long |
CVErr() |
a Variant (Error) |
Estructuras y objetos UNO
|
CreateUnoService(Nomb) |
Crea un servicio UNO. ☛ Nomb sensible a mayúsculas |
|
IsUNOStruct() |
True si es una estructura UNO. |
|
(struct.)Dbg_Properties |
Devuelve el nombre de la estructura UNO (String). |
|
HasUnoInterfaces() |
True si el objeto UNO promueve Interfaces. |
|
(obj.)SupportsService() |
True si el objeto promueve el servicio aumentado (String). |
|
EqualUnoObjects(o1, o2) |
True si dos var. se refieren a la misa instancia del objeto. |
Funciones de información de errores
|
Erl |
Nº de línea de error |
Error |
Mensaje asociado al error |
Err |
Código del error |
Otras Funciones
|
GetGUIType() |
Devuelve un valor que indica el sistema operativo usado |
|||||
|
|
1 |
Windows |
4 |
OSX o Linux |
3 |
MacOS |
|
GetSolarVersion() |
Defvelve la versión de LibreOffice. |
|||||
|
IsMissing() |
Comprueba si se ha omitido un parámetro opcional (sub o func.) |
|||||
Syntaxis del comando: Shell(Comando, Estilo, Param, Sinc)
|
Comando |
El comando que se desea ejecutar (String). |
|
|
Estilo |
Se refiere a la ventana donde ejecutar el comando (Integer). Opciones: |
|
|
|
0 |
El programa recibe el foco y su ventana está oculta. |
|
|
1 |
El programa recibe el foco y se ejecuta en una ventana estándar. |
|
|
2 |
El programa recibe el foco y se ejecuta en una ventana minimizada. |
|
|
3 |
El programa recibe el foco y se ejecuta en una ventana maximizada. |
|
|
4 |
El programa se inicia en una ventana sin foco. |
|
|
6 |
El programa se inicia minimizado, el foco se queda en la ventana actual. |
|
|
10 |
El programa se inicia en modo pantalla completa. |
|
Param |
Parámetros de ejecución pasados como argumento al programa (String). |
|
|
Sinc |
Señal de seguimiento de la ejecución |
|
|
|
True |
Esperar al final de la ejecución del comando. |
|
|
False |
No esperar al final de la ejecución del comando. |
La función Format() convierte un núm. en cadena, (formato según máscara de formato).
Una máscara de formato es una cadena que puede ser mostrada en tres secciones separadas por punto y coma ☛ val>0;val<0;val=0. *Una sección sola = todos los números.
Los números se formatean según la configuración de Herramientas ►Opciones ► Idiomas y regiones ► Generales ►Formatos.
Números
|
0 |
Cifra obligatoria en la posición |
% |
El resultado se muestra en formato |
|
# |
Cifra opcional |
E- E+ |
Formato científico. |
|
. |
Separador decimal |
e- e+ |
Formato científico. |
|
+- () espacio |
Caracteres literales se muestran |
\ |
Caracter de escape: el car. que sigue |
Fechas
|
D o DD |
N° del día (1 o 2 car.) |
Q o QQ |
N° trimestre (1 o 2 car.) |
|
NNN |
Nombre del día. |
W o WW |
N° semana (1 o 2 car.). |
|
M o MM |
N° del mes (1 o 2 car.) |
h o hh |
Hora (1 o 2 car.) |
|
MMMM |
Nombre del mes. |
m o mm |
Minutos (1 o 2 car.) |
|
YY o YYYY |
N° del año (2 o 4 car.) |
s o ss |
Segundos (1 o 2 car.) |
La compatibilidad con VBA no es completa.
Opciones de entorno
Herramientas ► Opciones ► Cargar / guardar ► Propiedades de VBA
|
Cargar el código Basic |
Carga y guarda el código VBA de un documento MSOffice |
|
Código ejecutable |
El código VBA se cargará preparado para su ejecución. |
|
Guardar el Basic original |
El código VBA en el documento se guarda aparte |
Opciones de ejecución
Para usar la compatibilidad con VBA indique Option VBASupport 1 y Option Compatible en la cabecera del módulo.
Funciones VBA
|
AscW |
FV() |
IRR() |
Round() |
|
ChrW |
Input() |
Me() |
RTL() |
|
DDB() |
InStrRev() |
MIRR() |
StrReverse() |
|
FormatDateTime() |
IPmt() |
NPer() |
WeekDayName() |
Encuentre más detalles en la ayuda en linea
Instrucciones VBA
|
Enum |
Enum MiEnumeracion WIND0WS = 1 ' Windows OS2PM = 2 ' OS/2 Presentation Manager MACINTOSH = 3 ' Macintosh MOTIF = 4 ' Motif Window Manager / Unix-like OPENLOOK = 5 ' Open Look / Unix-like End Enum |
A los valores enumerados se les asigna el tipo Long.
|
Déc |
Hex |
Val |
|
Déc |
Hex |
Val |
|
Déc |
Hex |
Val |
|
Déc |
Hex |
Val |
|
Déc |
Hex |
Val |
|
0 |
0 |
NUL |
|
26 |
1A |
SUB |
|
52 |
34 |
4 |
|
78 |
4E |
N |
|
104 |
68 |
h |
|
1 |
1 |
SOH |
|
27 |
1B |
ESC |
|
53 |
35 |
5 |
|
79 |
4F |
O |
|
105 |
69 |
i |
|
2 |
2 |
STX |
|
28 |
1C |
FS |
|
54 |
36 |
6 |
|
80 |
50 |
P |
|
106 |
6A |
j |
|
3 |
3 |
ETX |
|
29 |
1D |
GS |
|
55 |
37 |
7 |
|
81 |
51 |
Q |
|
107 |
6B |
k |
|
4 |
4 |
EOT |
|
30 |
1E |
RS |
|
56 |
38 |
8 |
|
82 |
52 |
R |
|
108 |
6C |
l |
|
5 |
5 |
ENQ |
|
31 |
1F |
US |
|
57 |
39 |
9 |
|
83 |
53 |
S |
|
109 |
6D |
m |
|
6 |
6 |
ACK |
|
32 |
20 |
SPC |
|
58 |
3A |
: |
|
84 |
54 |
T |
|
110 |
6E |
n |
|
7 |
7 |
BEL |
|
33 |
21 |
! |
|
59 |
3B |
; |
|
85 |
55 |
U |
|
111 |
6F |
o |
|
8 |
8 |
BS |
|
34 |
22 |
" |
|
60 |
3C |
< |
|
86 |
56 |
V |
|
112 |
70 |
p |
|
9 |
9 |
HT |
|
35 |
23 |
# |
|
61 |
3D |
= |
|
87 |
57 |
W |
|
113 |
71 |
q |
|
10 |
0A |
LF |
|
36 |
24 |
$ |
|
62 |
3E |
> |
|
88 |
58 |
X |
|
114 |
72 |
r |
|
11 |
0B |
VT |
|
37 |
25 |
% |
|
63 |
3F |
? |
|
89 |
59 |
Y |
|
115 |
73 |
s |
|
12 |
0C |
FF |
|
38 |
26 |
& |
|
64 |
40 |
@ |
|
90 |
5A |
Z |
|
116 |
74 |
t |
|
13 |
0D |
CR |
|
39 |
27 |
' |
|
65 |
41 |
A |
|
91 |
5B |
[ |
|
117 |
75 |
u |
|
14 |
0E |
SO |
|
40 |
28 |
( |
|
66 |
42 |
B |
|
92 |
5C |
\ |
|
118 |
76 |
v |
|
15 |
0F |
SI |
|
41 |
29 |
) |
|
67 |
43 |
C |
|
93 |
5D |
] |
|
119 |
77 |
w |
|
16 |
10 |
DLE |
|
42 |
2A |
* |
|
68 |
44 |
D |
|
94 |
5E |
^ |
|
120 |
78 |
x |
|
17 |
11 |
DC1 |
|
43 |
2B |
+ |
|
69 |
45 |
E |
|
95 |
5F |
_ |
|
121 |
79 |
y |
|
18 |
12 |
DC2 |
|
44 |
2C |
, |
|
70 |
46 |
F |
|
96 |
60 |
` |
|
122 |
7A |
z |
|
19 |
13 |
DC3 |
|
45 |
2D |
- |
|
71 |
47 |
G |
|
97 |
61 |
a |
|
123 |
7B |
{ |
|
20 |
14 |
DC4 |
|
46 |
2E |
. |
|
72 |
48 |
H |
|
98 |
62 |
b |
|
124 |
7C |
| |
|
21 |
15 |
NAK |
|
47 |
2F |
/ |
|
73 |
49 |
I |
|
99 |
63 |
c |
|
125 |
7D |
} |
|
22 |
16 |
SYN |
|
48 |
30 |
0 |
|
74 |
4A |
J |
|
100 |
64 |
d |
|
126 |
7E |
~ |
|
23 |
17 |
ETB |
|
49 |
31 |
1 |
|
75 |
4B |
K |
|
101 |
65 |
e |
|
127 |
7F |
DEL |
|
24 |
18 |
CAN |
|
50 |
32 |
2 |
|
76 |
4C |
L |
|
102 |
66 |
f |
|
|||
|
25 |
19 |
EM |
|
51 |
33 |
3 |
|
77 |
4D |
M |
|
103 |
67 |
g |
|