La creación de informes u hojas de cálculo a partir de plantillas existentes acelera el desarrollo. A partir de 4D v19 R4, las acciones de copiar y pegar pueden realizarse ahora utilizando un código que copia un rango de celdas desde otra ubicación (incluyendo otras áreas).
Mover o copiar un bloque de celdas.
El comando VP MOVE CELLS te permite copiar/cortar y pegar un rango de celdas a otra ubicación, incluso entre dos áreas:
// Starting range
$rangeFrom:=VP Cells("ViewProArea1"; 0; 0; 2; 7)
// First cell of the destination range
$rangeTo :=VP Cell("ViewProArea2"; 2; 0)
VP MOVE CELLS ($rangeFrom; $rangeTo; New object("copy"; True))
copiar pegar sobre un objeto
Otra forma de copiar un rango es copiarlo en un objeto con el comando VP Copy to object por ejemplo, para guardarlo en su base de datos:
$template:=ds.Templates.new()
$template .VP:=VP Copy to object($rangeFrom)
$template .
save()
Así podrás pegar el contenido, los estilos y las fórmulas almacenadas en el objeto cuando lo necesites con el VP PASTE FROM OBJECT comando:
$template:=ds.Templates.get($id)
VP PASTE FROM OBJECT ($rangeTo; $template.VP)
Sea cual sea la solución que utilices, es esencial que seas consciente de las posibilidades: las referencias relativas a las celdas pueden cambiar cuando mueves o copias una fórmula. Obtén más información sobre esta función en el centro de documentación.