Publicado el :
Administración CREATION_INTERNE

Inicio automático de Excel a través de DDE

Este código también está disponible en: Deutsch English Français
Attention : Este código requiere privilegios de administrador.
Este programa utiliza el motor DDE (Dynamic Data Exchange) para intentar establecer comunicación con Excel. Si el flujo no se puede abrir (indicando que Excel está cerrado), el script utiliza la función `system` para ejecutar el comando DOS 'Start Excel'. Incluye un bucle de espera para verificar el inicio. NOTA: Este código es específico de entornos Windows y se basa en la tecnología DDE obsoleta; no es funcional en un entorno SAS© Viya 4 estándar bajo Linux.
Análisis de datos

Type : CREATION_INTERNE


No se leen datos externos. El script solo gestiona interacciones del sistema y punteros de archivos (fileref).

1 Bloque de código
DATA STEP
Explicación :
Verifica la accesibilidad del servidor DDE de Excel. Si está inactivo, inicia Excel mediante el comando del sistema y espera hasta 5 segundos a que el servicio esté disponible.
¡Copiado!
1OPTIONS NOXSYNC NOXWAIT;
2filename cmdexcel DDE 'EXCEL|SYSTEM'; /* Fileref for Excel System */
3 
4DATA _null_;
5 fid = fopen('cmdexcel','S'); /* Check if Excel is open */
6 IF fid le 0 THEN
7 DO; /* Excel is not open, open Excel via Windows registry */
8 rc=system("Start Excel"); /* DOS command to open Excel*/
9 start = datetime(); /* Note start time */
10 stop = start + 5; /* Max time to try opening */
11 DO while (fid le 0); /* Loop while Excel opens */
12 fid = fopen('cmdexcel','S'); /* Check if Excel is open */
13 time = datetime(); /* Reset current time */
14 IF time ge stop THEN
15 fid = time; /* Set FID to terminate loop*/
16 END; /* do while (fid le 0); */
17 END; /* Excel is not open, open Excel via Windows registry */
18 rc = fclose(fid); /* Close fileopen on EXCEL */
19RUN;
2 Bloque de código
COMMAND X
Explicación :
Método alternativo y directo para iniciar Excel mediante el comando X (escape de shell).
¡Copiado!
1options noxwait noxsync;
2 x start excel;
Este material se proporciona "tal cual" por We Are Cas. No hay garantías, expresas o implícitas, en cuanto a la comerciabilidad o idoneidad para un propósito particular con respecto a los materiales o el código contenidos en este documento. We Are Cas no es responsable de los errores en este material tal como existe ahora o existirá, ni We Are Cas proporciona soporte técnico para el mismo.