Página 1 de 1

Vbs Hoja de Calculo Activo

Publicado: Jue Abr 20, 2017 2:49 pm
por jenriqueph
Salu2

Necesito tomar datos de una hoja de calculo con Vbs, me explico mejor al ejecutar el código vbs necesito validar si openoffice esta ejecutándose, luego de validar esto tomar la hoja de calculo activa validar el nombre de su archivo y hoja activa para tomar datos de unas celdas.-

Agradezco su valiosa ayuda.-

Re: Vbs Hoja de Calculo Activo

Publicado: Jue Abr 20, 2017 2:54 pm
por mauricio
Hola...

¿Te refieres a Visual Basic Script?... si es si, por curiosidad, ¿se sigue usando?

Saludos

Re: Vbs Hoja de Calculo Activo

Publicado: Jue Abr 20, 2017 10:22 pm
por jenriqueph
Salud2

Si correcto a Visual Basic Script, me puedes ayudar.-

Re: Vbs Hoja de Calculo Activo

Publicado: Jue Abr 20, 2017 10:36 pm
por mauricio
Tengo entendido que se puede usar CreateObject como en VB: https://ss64.com/vb/createobject.html
si es así, puede aplicar todo lo que se ha publicado en este foro con VB... mira si te sirve...

Saludos

Re: Vbs Hoja de Calculo Activo

Publicado: Vie Abr 21, 2017 9:25 pm
por fornelasa
Intenta con este código, debería de funcionar.

Código: Seleccionar todo

Set objServiceManager = WScript.CreateObject("com.sun.star.ServiceManager") 
      Set StarDesktop = objServiceManager.createInstance("com.sun.star.frame.Desktop") 

      Set oComponents = StarDesktop.getComponents() 
            Set oEnum = oComponents.createEnumeration 

Do While oEnum.hasMoreElements 
    Set ThisComponent = oEnum.nextElement
    	       nombre = ThisComponent.Title
Exit Do
Loop 

		largo = Len(nombre)
	     If largo = 0 Then
			MsgBox("Calc no está ejecutandose")
			WScript.Quit
	     End If

       Set HojaActiva = ThisComponent.CurrentController.ActiveSheet
		 hoja = HojaActiva.Name

  	msgbox("El archivo se llama " + ThisComponent.Title)
	msgbox("La hoja activa es " + hoja)

msgbox("El dato de la celda A1 es " + HojaActiva.getCellRangeByName("A1").String)  'O Value dependiendo de lo que haya en celda A1

Saludos, Federico.