PDA

Ver la Versión Completa : Ayuda con archivo .slk


gaos
11/11/12, 00:35:51
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
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:

ballan
03/12/12, 10:24:12
Dale un vistazo a este enlace

http://office.microsoft.com/en-us/copy-your-macros-to-a-personal-macro-workbook-HA102174076.aspx

Aqui te explican como crear las macros en el libro personal, tienes que crear la macro de esta manera, asi podras utilizarla en todos los libros