Migrar macro de VBA Word a OOo Basic Wrtier

Desarrollo de Macros y programación en UNO, usar las API, llamar programas externos...
Responder
manucogalarza
Mensajes: 6
Registrado: Jue Ago 13, 2009 8:55 pm

Migrar macro de VBA Word a OOo Basic Wrtier

Mensaje por manucogalarza »

Tengo esto programado en una MACRO de Visual Basic en Microsoft Office y deseo migrarlo a una macro en OpenOffice Writer 3.1. Por favor su ayuda

With Selection.Find
.Text = ".tif"
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
If Selection.Find.Found = True Then
Selection.MoveStart Unit:=wdLine, Count:=-1
NomIngFile1 = Selection.Text
End If


Editado por el moderador (valedor74) para mover el tema a un subforo apropiado. Si no lo has hecho aún por favor lee la Guía de supervivencia
OpenOffice 3.1 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Migrar macro de VBA Word a OOo Basic Wrtier

Mensaje por mauricio »

Hola...

Si no se me ha olvidado el VBA, a pesar de llevar años sin usarlo, la macro te busca, dentro de la selección el texto ".tif", si lo encuentra, se regresa una linea, la selecciona y recupera el texto seleccionado...

Por supuesto que se puede hacer en OOo Basic, pero mi recomendación siempre es no "traducir" simplemente las macros, si no "reescribirlas", trabajar sobre la selección, si bien es posible, no es lo recomendable, es mejor crear un cursor de texto y con el moverse a libertad y manipular el texto, si das más detalles de que quieres hacer "realmente", tal vez pueda ayudarte...

Saludos

Mauricio

P.D. Procura publicar tus preguntas en el foro correcto
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
manucogalarza
Mensajes: 6
Registrado: Jue Ago 13, 2009 8:55 pm

Re: Migrar macro de VBA Word a OOo Basic Wrtier

Mensaje por manucogalarza »

Por supuesto, yo no estoy traducción estoy reescribiendo el código en OOo Basic pero como hago lo que tu me tratas de indicar.
En resumen lo que estoy haciendo es incluir imagenes automaticamente para ello en OOO Basic, además necesito modificar el tamaño y la posicion
de la imagen dentro del documento
OpenOffice 3.1 en Windows XP
Avatar de Usuario
mauricio
Mensajes: 6092
Registrado: Sab Nov 22, 2008 5:36 am
Ubicación: CDMX
Contactar:

Re: Migrar macro de VBA Word a OOo Basic Wrtier

Mensaje por mauricio »

Tu pregunta es totalmente diferente a lo que expones en tu primer mensaje, trata de mantener el tema del hilo para tener foros más ordenados...

El siguiente ejemplo te inserta una imagen en el documento activo y le cambia el tamaño...

Código: Seleccionar todo

Sub InsertarImagen()
Dim sRutaImagen As String
Dim oActivo 	As Object
Dim oImagen 	As Object
Dim Tamano 		As New "com.sun.star.awt.Size"
Dim oTexto 		As Object
Dim oCursor 	As Object

	sRutaImagen = "/home/mau/Desktop/Prueba.png"
	If Dir(sRutaImagen) <> "" Then
    	'Si existe construimos la ruta en forma de URL
	    sRutaImagen = ConvertToURL( sRutaImagen )
	    'El documento desde donde se llama esta macro
    	oActivo = ThisComponent
    	'Creamos una instancia de un objeto grafico
    	oImagen = oActivo.createInstance( "com.sun.star.text.GraphicObject" ) 
    	'Establecemos la ruta de la imagen
    	oImagen.GraphicURL = sRutaImagen
    	'Referencia al texto
    	oTexto = oActivo.getText()
    	'Creamos un cursor
    	oCursor = oTexto.createTextCursorByRange( oTexto.getStart() )
    	'Establecemos el tamaño de la imagen 100 = 1 mm
    	Tamano.Width = 2000
    	Tamano.Height = 1250
    	oImagen.setSize(Tamano)
    	'Insertamos la imagen
    	oTexto.insertTextContent( oCursor, oImagen, False )
  End If
End Sub
Si esto resuelve tu pregunta, por favor, edita el titulo de tu mensaje para marcar como [RESUELTO]

Mauricio
______________________________________________
"Todo cuanto no podemos dar nos posee". - André Gide
LibreOffice 6.2 | ArchLinux | Gnome3
No respondo preguntas privadas, por favor, usa el foro
Responder