PDA

Ver la Versión Completa : Modificar la configuración de página Excel a la que se exporta


falkata82
01/09/08, 10:37:29
Hola!!

tengo un informe que lo paso para que salga en Excel pero me han pedido que cambie la configuración de la página, es decir, si abrimos un excel, vamos a Archivo, Configurar Página y nos sale una ventanita para configurar.

Bien pues debajo de Orientación (poner en vertical u horizontal la página) hay 2 Radiobuttons en Ajuste de Escala. Por defecto sale marcado el 1º y lo que queremos es que nos saque por defecto el 2º y con unos valores X en las casillas de los numeritos que nosotros le daremos. Alguien sabe cómo hacerlo? Sé que es con algo del Set Property pero no consigo dar con ello :'(

ballan
01/09/08, 10:55:54
Echale un vistazo a este post aver si te ayuda
http://www.mundosap.com/foro/showthread.php?t=13134&highlight=excel+contrase%F1a

falkata82
01/09/08, 11:17:16
Hola,

gracias por el link pero no me ha servido :s Así que si alguien sabe cómo hacerlo estaré muy agradecida por la ayuda :rolleyes:

ballan
01/09/08, 11:23:00
Dudo mucho que nadie te pegue aqui el codigo exacto, para lo que te di el link es para que vieras un metodo que hay para trabajar en excel desde sap, grabate una macro en excel haciendo lo que deseas hacer (Archivo->Configurar pagina-> marcar el radiobutton..) y luego tienes 2 opciones

1.- Puedes crear el excel desde SAP y luego ejecutar la macro llamando al metodo RUN

2.- Puedes fijarte en las funciones que llama y las propiedades que rellena cuando marcas el radiobutton y hacer los SET PROPERTY o CALL METHOD correspondientes en tu programa ABAP

falkata82
01/09/08, 11:26:20
Dudo mucho que nadie te pegue aqui el codigo exacto, para lo que te di el link es para que vieras un metodo que hay para trabajar en excel desde sap, grabate una macro en excel haciendo lo que deseas hacer (Archivo->Configurar pagina-> marcar el radiobutton..) y luego tienes 2 opciones

1.- Puedes crear el excel desde SAP y luego ejecutar la macro llamando al metodo RUN

2.- Puedes fijarte en las funciones que llama y las propiedades que rellena cuando marcas el radiobutton y hacer los SET PROPERTY o CALL METHOD correspondientes en tu programa ABAP

He utilizado la 2ª opción que me comentas, pero al poner Set Property ZOOM = false y Set Property FitToPagesWide = valor que me dicen, pues no me funciona y no sé qué es lo que tengo que poner exactamente pues las funciones o metodos están puestos pero no consigo dar con lo que se deben rellenar.... :confused: :confused:

ballan
01/09/08, 11:44:37
A mi entender el metodo mas sencillo es que grabaras una macro en excel que hiciera lo que tu quieres supongamos que la llamas MACRO_FORMATEAR es importante que esta macro la grabes en el libro de macros personal para que la tengas en todos los archivos que crees en excel

Despues en tu programa ABAP una vez que hayas terminado todo pondrias algo asi


INCLUDE OLE2INCL.

data: go_Excel type ole2_object. "Este es tu objeto aplicacion de excel

CREATE OBJECT go_Excel 'EXCEL.APPLICATION'. "si ya esta instanciado esto "no te hace falta

CALL METHOD OF go_Excel 'RUN' "Aqui es donde ejecutas tu macro
EXPORTING #1 = "MACRO_FORMATEAR".

Chequea bien la sintaxis porque alguna coma punto o comilla mal ppuesta puede hacer que no funcione

Si lo que quieres es hacer los set property tienes que hacer un set property sobre el objeto correcto por ejemplo si la propiedad ZOOM es del objeto hoja tendrias que hacer un set property ZOOM of hoja = 'False'

falkata82
01/09/08, 12:30:08
El problema es que al poner set property of hoja 'ZOOM' = 'False' la sentencia no cumple la función :(

ballan
01/09/08, 13:34:58
Copia aqui todo el codigo que estas utilizando para que podamos verlo mejor

falkata82
02/09/08, 06:04:42
Esta es la parte de código en la que tengo que incluir lo que intento hacer ....

CALL METHOD OF exce1 'ActiveSheet' = hoja.
GET PROPERTY OF hoja 'PageSetup' = page.
SET PROPERTY OF page 'CenterHorizontally' = 1.

* SET PROPERTY OF page 'Orientation' = 2.

* Se pone la página en orientación vertical
SET PROPERTY OF page 'Orientation' = 1.



* SET PROPERTY OF page 'ZOOM' = 43.


* SET PROPERTY OF page 'ZOOM' = 70.
* Hay que configurar el formato de impresión desde SAP para que el Excel
* haga que sea de 1 hoja de ancho por Blanco de largo.
SET PROPERTY OF page 'Zoom' = 'False'.

SET PROPERTY OF page 'FitToPagesWide' = 4.
SET PROPERTY OF page 'FitToPagesTall' = 0.
* SET PROPERTY OF page 'ZOOM' = ' '.


* Se asigna 1 cm a todos los margenes (Se asigna el Nº de pixels/cm)
SET PROPERTY OF page 'LeftMargin' = c_margen.
SET PROPERTY OF page 'RightMargin' = c_margen.
SET PROPERTY OF page 'TopMargin' = c_margen.
SET PROPERTY OF page 'BottomMargin' = c_margen.
aaaa = '1'.


* Se cambia la hoja a DIN A3
SET PROPERTY OF page 'PaperSize' = '8'.

lauracarolina
23/02/09, 15:19:04
buenas, tengo una consulta que hacerles, a ver si me pueden ayudar: tengo una tabla excel, la cual tiene un formato especial, entonces quiero q esa data que tengo pasarla a una interna en sap, pero no consigo hacerla con las funciones que ya se conocen, por eso quiero hacerlo con objetos ole (excel), quiero saber que funcion utilizo para copiar los datos en una tbala interna de sap.
Gracias por su apoyo.
Saludos.

ballan
24/02/09, 14:33:52
Aqui te dejo un esbozo de como seria mas o menos

INCLUDE ole2incl.

DATA: excel TYPE ole2_object.
DATA: book TYPE ole2_object.
DATA: hoja TYPE ole2_object. "hoja
DATA: rango TYPE ole2_object.
DATA: celda TYPE ole2_object.
DATA: item TYPE ole2_object.


CREATE OBJECT excel 'excel.application'.
CALL METHOD OF excel 'Workbooks' = book.

CALL METHOD OF book 'Open'
EXPORTING
#1 = fichero. "en fichero llevarias la ruta de tu XLS

Con esto abririas tu libro, para poder moverte por las celdas tendrias que llamar a los metodos correspondientes del objeto SHEET (1 objeto WORKBOOK tiene una coleccion de objeto SHEET llamada SHEETS)

De todas formas me parece una locura cargar un excel asi, aparte de que para un volumen de excel muy grande se te va a eternizar te vas a cansar de picar codigo...