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




 
 
 
Herramientas Buscar en Tema Desplegado
Prev Mensaje Previo   Próximo Mensaje Próx
  #3  
Viejo 13/12/11, 06:54:30
NKZero NKZero is offline
Junior Member
 
Fecha de Ingreso: jun 2008
Mensajes: 5
Hola Cristiana, te comento un poco el proceso a rasgos generales:
Cada celda de excel tiene un check que indica si está bloqueada o no (Boton derecho encima de la celda, Formato de celdas, Pestaña proteger).
Aunque este flag esté marcado, hasta que no se protege la hoja (Menú Revisar, Proteger Hoja) no se hace efectivo dicho bloqueo.

Por defecto el flag bloqueado viene marcado para todas las celdas (si creas un excel en blanco podrás comprobarlo), por tanto el concepto de bloquear sería a la inversa, tendríamos que desbloquear aquellas celdas que queremos que sean editables.

Todo esto es en excel, una vez compredido los pasos a realizar en excel hay que trasladarlos a SAP (hago un poco copy paste de lo que puse antes XD).

1 - Crear Excel:

* Crear el excel
CREATE OBJECT excel 'EXCEL.APPLICATION'.
SET PROPERTY OF excel 'VISIBLE' = 1. " Lo puedes poner a 0 si quieres que sea un proceso e fondo.

* Se crea el libro
CALL METHOD OF excel 'WORKBOOKS' = workbook.

* Se añade el libro
CALL METHOD OF workbook 'ADD'.

* Se selecciona la Hoja
CALL METHOD OF excel 'WORKSHEETS' = sheet
EXPORTING #1 = 1. " Este es el número de la hoja que seleccionamos

* Se pone como activa la hoja (es como hacer clic en la pestaña de la hoja que tienes seleccionada en Sheet).
CALL METHOD OF sheet 'ACTIVATE'.


2 - Seleccionar Celda con Objetos OLE y bloquear / desbloquear:

* Se selecciona la celda que queremos de la hoja
CALL METHOD OF sheet 'CELLS' = cell
EXPORTING
#1 = gv_row "FILA
#2 = p_j. "Columna (en número)

* Marcamos o desmarcamos el flag de protegido (0 - Desmarcar | 1 - Marcar)
SET PROPERTY OF cell 'LOCKED' = 0. "Unprotect cell

3 - Proteger la hoja (esto hará que las celdas protegidas no sean editables):
Justo antes de guardar los cambios en la hoja (despues de rellenar todas las celdas y demás).

* Protejemos la hoja con este método.
CALL METHOD OF gv_sheet 'PROTECT'
EXPORTING #1 = ''. " Si no se quiere password se deja vacío (ojo son 2 comillas simples).

* Se guarda el excel donde queramos
CALL METHOD OF sheet 'SAVEAS'
EXPORTING
#1 = lv_fullpath " Ruta
#2 = 1.


Tras realizar esto, todas las celdas que tengan activo el flag Bloqueado quedarán bloqueadas.

Consejo: Trata todas las celdas que rellenes con datos o formen parte de la tabla de salida, de esta forma te garantizas que cada una de ellas tiene el formato que deseas. Recorre las celdas una a una y ve marcando si la celda debe ser bloqueada o no (independientemente de como venga por defecto así siempre tendrás controlado cuales se van a desbloquear y cuales no).

Espero que te ayude, si tienes alguna duda más, tan solo tienes que decirlo.
Un saludo.

Úlima edición por NKZero fecha: 13/12/11 a las 06:59:08.
Responder Con Cita
 


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 23:25:04.


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