Tengo un código que se ejecuta bien en un pc que tiene window XP con versión de openoffice 3.6.5.2, pero este mismo código no se ejecuta en un pc que tiene window 7 con versión de openoffice 4.1.0.
Creo que es por el cambio de versión. Y creo que es por el directorio de las variables.
Alguien me puede ayudar?
Observación: este código me lo facilitó un participante de este foro que tiene Nick fornelasa.
Agradezco sus aportes.
Gracias,
El código es el siguiente:
Código: Seleccionar todo
sub BuscarCopiar
dim args1(2) as new com.sun.star.beans.PropertyValue
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
args1(1).Name = "By"
args1(1).Value = 1
args1(2).Name = "Sel"
args1(2).Value = false
tDoc = ThisComponent.CurrentController
oSheet = tDoc.ActiveSheet
tDoc.Select(oSheet.GetCellRangeByName("A1"))
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args1())
Edgar = ThisComponent.Sheets.GetByName("edgar")
args1(0).Name = "SearchItem.SearchString"
args1(0).Value = "EDGAR FRANCISCO SOTO"
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
inicio = (ThisComponent.GetCurrentSelection.CellAddress.Row + 1)
dispatcher.executeDispatch(document, ".uno:GoLeft", "", 0, args1())
dato = ThisComponent.GetCurrentSelection.String
args1(0).Value = Trim(dato)
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
fin = (ThisComponent.GetCurrentSelection.CellAddress.Row + 1)
rango = oSheet.GetCellRangeByName("A"+inicio+":K"+fin)
tDoc.Select(Rango)
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
tDoc.Select(Edgar.GetCellRangeByName("A1"))
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
tDoc.Select(oSheet.GetCellRangeByName("A1"))
args1(0).Name = "SearchItem.SearchString"
args1(0).Value = "EDGAR FRANCISCO SOTO"
dispatcher.executeDispatch(document, ".uno:ExecuteSearch", "", 0, args1())
MsgBox "Hecho"
end sub