MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Ayuda con archivo .slk (foro/showthread.php?t=65157)

gaos 11/11/12 00:35:51

Ayuda con archivo .slk
 
Bune día a tod@s.

Estoy haciendo un desarrollo y me piden generar una archivo excel .slk, ya le busque por la red, las funciones y objetos de sap y no encuentro algo que me ayude a generar ese tipo de archivos ¿Alguien tiene una idea de como poder crearlos?

P.D. Como plus me piden que se genere bloqueado :eek:

victor2180 12/11/12 21:05:04

Si te srive de ayuda...
 
Amigo si te sirve de ayuda si abres un docuemento nuevo en excel te da la opcion de guardar el archivo con la extension .slk que estas pidiendo , sobre que este protegido eso mismo tambien en la opcion de seguridad lo puedes manipular.,

pero desconozco con que parametros aplique en automatico que te lo grabe con esa extension de archivo y al mismo tiempo qu eeste bloqueado.

Espero te aya podido orientar aunque sea un poco.

Saludos:)

gaos 12/11/12 21:22:21

Gracias por la ayuda, lo que se pretende es que se cree desde abap el archivo, y eso es lo que me trae de arriba a a abajo

ballan 13/11/12 07:11:22

Yo te recomendaria que te crees el fichero "normal" y despues ejecutes una macro que te lo grabe como .SLK

Para ejecutar una macro el codigo en abap seria mas o menos el siguiente

INCLUDE OLE2INCL.

data: go_Excel type ole2_object.

CREATE OBJECT go_Excel 'EXCEL.APPLICATION'.

CALL METHOD OF go_Excel 'RUN'
EXPORTING #1 = "NombredelaMacro".

La macro tiene que estar en el libro de macros personal para que aparezca en todos los libros que crees y la puedas ejecutar

gaos 13/11/12 17:38:51

Estoy tratando de poner en práctica lo que me sugieres ballan, pero al llamar a la macro desde abap no la ejecuta, la aplique tal como me mencionas, en la llamada a la macro pongo PERSONAL.slk!hojaprotegida o hojaprotegida, que es el nombre de la macro, la macro solo la puedo ver la en el excel en el Personal.xls y no en el .xls que creo ¿Me faltará algo en excel o sap? :confused:

Agradezco tu ayuda

ballan 14/11/12 10:48:46

No recuerdo exactamente como va esto y ademas con las nuevas versiones de excel es probable que haya cambiado no obstante te cuento las cosas que se me ocurren para ver si te ayudan de algo

Lo primero de todo asegurate de que en el excel tienes habilitada la opcion de ejecutar macros, lo digo porque normalmente por defecto viene deshabilitada

Despues recuerdo que cuando creabas una macro podias crearla en varios sitios, las opciones eran algo asi como crear en el propio libro y habia una que era crear la macro en el libro de macros personal

Desconozco si eso seguira asi o ha cambiado, el caso es que en las versiones antiguas si tu creabas la macro en el libro de macros personal significaba que esa macro la tenias disponible en TODOS los libros de excel, incluso si le dabas a crear nuevo libro ya te lo creaba con esa macro incluida

El objetivo es que tu macro la crees de esta manera para que cuando crees el libro ya te aparezca y puedas ejecutarla

Por otro lado si consigues crear la macro de forma que este en todos los libros cuando haces la llamada en sap no hacia falta que pusieras la referencia a la hoja ni al libro ni nada, solo tenias que instanciar un objeto excel.application y ejecutar el metodo run pasandole como parametro el nombre de la macro, esto antes funcionaba asi

De todas formas tambien indicanos que version tienes de excel y toda la informacion que puedas para ver si te podemos ayudar algo mejor

gaos 14/11/12 15:15:03

Ballan ya pude hacer la macro y crear al archivo .slk desde abap, con una función estándar (SAP_CONVERT_TO_XLS_FORMAT), pero al llamar a la macro no la ejecuta, tengo en como posibles usos del office 2003 al 2010 :s, para el 2003 no marca errores, no he podido checar las otras versiones

gaos 16/11/12 14:15:26

Una disculpa pero no sale el mensaje anterior, tengo versiones del 2003 al 2010 de office

ballan 19/11/12 07:47:37

Como norma general yo te recomendaria que lo intentes con versiones antiguas de excel que tendran menos problemas de compatibilidad, seguridad en la ejecucion de las macros, etc, por ejemplo la 2003 esta bien

Primero crea el fichero con la funcion SAP_CONVERT_TO_XLS_FORMAT y luego abre el fichero para ver si dentro tienes la macro

Si el fichero que te crea tiene la macro y no la ejecuta entonces algo estamos poniendo mal en la sintaxis para ejecutar la macro

gaos 01/12/12 16:54:56

Una disculpa por contestar mucho despues.

Ya corri la función que me pasaste, funciona muy bien, pero el problema parece estar en excel, porque al abrirlo no toma la macro, eso lo hice desde abap y no funcionó, despues lo hice abriendo manualmente el excel y no cargo la macro :( :confused:


Husos Horarios son GMT. La hora en este momento es 02:01:48.

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