[RESUELTO]Eliminar Hoja

¿Nuevo en Apache OpenOffice? ¿No sabe cómo comenzar o dónde hacer su pregunta? ¡Este es el lugar!
Reglas del Foro
Los moderadores podrían mover los temas creados aquí a un foro más apropiado.
Si usted publicó aquí y no encuentra el tema, puede buscar sus mensajes haciendo clic en la opción «Buscar sus mensajes» que se encuentra justo debajo de la cabecera de la página, junto al panel de control de usuario y al acceso a sus mensajes privados.

[RESUELTO]Eliminar Hoja

Notapor senda678 » Jue Ago 13, 2020 8:10 am

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
Última edición por PepeOooSevilla el Jue Ago 13, 2020 8:16 pm, editado 2 veces en total
Razón: Seleccionar icono de RESUELTO
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
senda678
 
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm

Re: Eliminar Hoja

Notapor PepeOooSevilla » Jue Ago 13, 2020 4:44 pm

Hola.
El ejemplo adjunto está en el libro de nuestro compañero mauricio (apartado 6.1.2 Borrando hojas):
Código: Seleccionar todo   Expandir vistaContraer vista
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.
Adjuntos
Borrar_Hoja.ods
LibO Calc 6.4.6
(10.36 KiB) 38 veces
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.
Avatar de Usuario
PepeOooSevilla
 
Mensajes: 1480
Registrado: Sab Abr 04, 2009 6:10 pm
Ubicación: Sevilla (España)

Re: [RESUELTO]Eliminar Hoja

Notapor senda678 » Jue Ago 13, 2020 7:47 pm

Muchisimas gracias, es perfecto.

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

un abrazo.
Libreoffice Versi??n: 6.4.4.2 (x64)
windows 10
senda678
 
Mensajes: 21
Registrado: Mié Jul 15, 2020 3:57 pm


Volver a Principiantes

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados