Página 1 de 1

[RESUELTO]Eliminar Hoja

Publicado: Jue Ago 13, 2020 8:10 am
por senda678
Hola buenos días, se que os estoy pidiendo mucha ayuda ultimamente, pero me estoy metiendo en este mundillo de las macros, y cada día se me van ocurriendo cosas nuevas.

he creado esta macro para eliminar hojas y funciona perfectamente. Pero lo que yo quería si se puede por eso os pido ayuda, es aplicar esta Macro a un botón y que cuando le des te salga una ventana en el que pongas el nombre de la hoja y se elimine.

Ahora mismo tal y como esta elimina la hoja seleccionada pero no la puedes ejecutar con botón, ya que si no eliminarías la hoja en la que estas.

sub EliminarSheets

dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Nr"
args1(0).Value = 4
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, args1())
dispatcher.executeDispatch(document, ".uno:Remove", "", 0, Array())

end sub


Muchas Gracias

Re: Eliminar Hoja

Publicado: Jue Ago 13, 2020 4:44 pm
por PepeOooSevilla
Hola.
El ejemplo adjunto está en el libro de nuestro compañero mauricio (apartado 6.1.2 Borrando hojas):

Código: Seleccionar todo

REM  *****  BASIC  *****
Option Explicit

Sub BorrarHoja2()
	Dim oHojas As Object
	Dim sNombre As String

	sNombre = Trim(InputBox("Nombre de la hoja a borrar:", "¡Atención!"))
	If sNombre <> "" Then
		oHojas = ThisComponent.getSheets()
		If oHojas.hasByName(sNombre) Then
			oHojas.removeByName(sNombre)
		Else
			MsgBox "La hoja no existe.", 16, "¡Atención!"
		End If
	End If
End Sub
Las macros no son fáciles pero si te interesa la programación para OpenOffice/LibreOffice tienes que leer y estudiar el libro Aprendiendo OOo Basic de nuestro compañero mauricio. También lo puedes consultar aquí: Guía de introducción al uso de Apache OpenOffice > Temas Avanzados > Macros > StarBasic

Además en las páginas Manuales de Apache OpenOffice en español: Basic y, Basic OpenOffice: Apache OpenOffice Basic en español de nuestro compañero SLV-es, encontrarás muy buena información.
Saludos cordiales.

Re: [RESUELTO]Eliminar Hoja

Publicado: Jue Ago 13, 2020 7:47 pm
por senda678
Muchisimas gracias, es perfecto.

Si estoy leyendo el libro de ahí estoy sacando muchas ideas.

un abrazo.