MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 06/06/06, 15:49:49
apozosanz apozosanz is offline
Member
 
Fecha de Ingreso: feb 2006
Mensajes: 86
varios sheets con ole

Objetos ole para excel.
Quiero meter en un excel datos pero en distintas hojas.
Lo que me pasa es que cada hoja me machaca la anterior y al final solo me sale una.
cada una de las hojas nuevas la creo asi:

*&---------------------------------------------------------------------
*& Form nuevas_hojas
*&---------------------------------------------------------------------
form nuevas_hojas using sheetname .

CALL METHOD OF g_xlapp 'Worksheets' = g_newsheet "no flush
EXPORTING #1 = 1 .
CALL METHOD OF g_newsheet 'Activate'.
CALL METHOD OF g_newsheet 'cells' = g_cell. "no flush.
set property of g_newsheet 'NAME' = sheetname.
endform.



hay algun metodo o algo para ir pasando paginas.
Nota: a priori no se cuantas hojas voy a necesitar
Responder Con Cita
  #2  
Viejo 07/06/06, 07:33:37
carlosalcala carlosalcala is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 46
Cambia de trabajo preguntón!
Responder Con Cita
  #3  
Viejo 07/06/06, 13:25:05
carlosalcala carlosalcala is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 46
Prueba con esto, a mi me funciona en un report normalito que solo hace esto

REPORT Z_PRUEBAS_OLE .

INCLUDE ole2incl.
DATA: application TYPE ole2_object,
workbook TYPE ole2_object,
sheet TYPE ole2_object,
cells TYPE ole2_object.

START-OF-SELECTION.

data: val type i value 8,
nh type i value 1.

create object application 'Excel.application'.
set property of application 'Visible' = 1.
call method of application 'Workbooks' = workbook.

set property of application 'SheetsInNewWorkbook' = 5.

call method of workbook 'Add'.
call method of application 'Worksheets' = sheet
exporting #1 = 2.

call method of workbook 'ADD'.

CALL METHOD OF application 'CELLS' = CELLs EXPORTING #1 = 2 #2 = 2.
SET PROPERTY OF CELLs 'VALUE' = val.
free object cells.
free object sheet.

do 4 times.

add 1 to nh.

call method of application 'Worksheets' = sheet
exporting #1 = nh.

CALL METHOD OF sheet 'Activate'.
CALL METHOD OF application 'CELLS' = CELLs
EXPORTING #1 = 3 #2 = 3.
SET PROPERTY OF CELLs 'VALUE' = 14.
free object cells.
enddo.
__________________
Salu2

Carlos!
Responder Con Cita
  #4  
Viejo 05/03/09, 14:58:16
eljota eljota is offline
Member
 
Fecha de Ingreso: dic 2008
Localización: Lima-Peru
Mensajes: 48

el detalle en tu codigo es q pones:

CALL METHOD OF g_xlapp 'Worksheets' = g_newsheet "no flush
EXPORTING #1 = 1 .

cuando deberías poner:

CALL METHOD OF g_xlapp 'Worksheets' = g_newsheet "no flush
EXPORTING #1 = nro_hoja .

donde nro_hoja varia segun la hoja donde quieres trabajar (1 , 2 , 3, ...)

ahora, esto te servira solo para 3 hojas, ya q son las q tiene x defecto un libro excel.

Si necesitas mas hojas, tendrías q declarar al incio:

IF total_paginas > 3.
total_paginas = total_paginas - 3.
CALL METHOD OF APPLICATION 'WorkSheets' = SHEET.
DO total_paginas TIMES.
CALL METHOD OF SHEET 'Add'.
ENDDO.
ENDIF.

o poner set property of application 'SheetsInNewWorkbook' = 5.

salu2
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 16:55:22.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web