Newsgroup: it.comp.www.asp
Titolo: Chiudere excel

Salve a tutti. Dopo aver cercato a lungo una soluzione su google mi
trovo costretto a chiedere qui.
Ho una applicazione che apre un template excel, ci scrive dentro,
salva il file e infine DOVREBBE chiudere excel, solo che l'ultimo
passo non riesce e il server si riempie di EXCEL.EXE che vanno killati
a mano.
Ecco il codice:
------------------------------------------------------------------------
Set app = CreateObject("Excel.Application")
Set book = app.Workbooks.Open(Template)
Set sheet = app.ActiveWorkbook.Worksheets(1)
[fa tutto quello che deve fare]
app.ActiveWorkbook.Close
set sheet = Nothing
set book = Nothing
app.Application.Quit
set app = Nothing
------------------------------------------------------------------------
Il fatto è che semplicemente non funziona.
Chi amministra il server non vuole darmi un account e non ha né il
tempo né l'intenzione di starmi dietro. Insomma non è che possa fare
tante prove. Googlando ho trovato ben tre versioni dell'utilizzo di
quit (app.quit/app.quit()/app.Application.Quit) e non riesco a capire
quale sia quella esatta.
A tale proposito Jscript ha un bug documentato che può essere aggirato
(
http://tinyurl.com/38jwmy
), sapete se per caso esiste qualcosa di
simile anche per vbscript?
Grazie mille.


Ma il file excel, non ti conviene generarlo al volo?
http://www.aspitalia.com/script/197/Creare-File-Excel-Volo.aspx
Ciao.
-- 
Sergio MAZZA 

 Ma il file excel, non ti conviene generarlo al volo?
E' stata la prima ipotesi che ho preso in considerazione poi perň mi č
stato detto che ad alcune righe andava applicato il lock (cioč
dovevano essere rese immodificabili) e non mi pare che con quel
sistema sia fattibile.

 ha scritto nel messaggio 
news:8d642008-a4c9-4572...@t47g2000hsc.googlegroups.com...

Essenzialmente si tratta di scrivere le stesse righe/istruzioni che genera 
Excel esportando in HTML il tuo foglio.
Fai una prova; blocca le celle ed esporta in html; controlla il codice 
integrandolo all'esempio di creazione al-volo e vedi il risultato...
Ciao.
-- 
Sergio MAZZA 

 integrandolo all'esempio di creazione al-volo e vedi il risultato...
Il problema è che le righe vengono generate dinamicamente da asp. Non
posso bloccare a priori, per dirne una, il range A1:R1, quindi
l'applicazione devo crearla comunque e siamo da capo col problema di
chiuderla. Non posso nemmeno proteggere a monte l'intero foglio perché
alcune righe vanno protette ed altre no.
Oppure non ho capito cosa intendi.

 Oppure non ho capito cosa intendi.
Premesso che con quel metodo non hai problemi di istanze di applicazioni 
aperte, perché quando si apre il foglio (generato dinamicamente) si apre 
anche l'applicazione associata (quindi excel) e quando l'utente chiude il 
foglio chiude anche l'applicazione.
Il problema è se non sai qual'è il range da bloccare, ma mi sembra strano 
che tu non lo conosca; sarà legato ad un tipo di valore (o ad una serie) o 
ad una posizione stabilita o a tutte e tre. Oltretutto lo devi generare 
al-volo automaticamente quindi senza nessun intervento umano.
Certo; parlarne così in modo generico è un po' difficile, ma sono sicuro che 
è possibile trovare una soluzione...
Ciao.
-- 
Sergio MAZZA 

 è possibile trovare una soluzione...
Ne sono (quasi) certo anch'io, solo che al momento non riesco a
intravederla.
Capisco che qui è off-topic, ma generarlo localmente tramite gli
header e poi fargli qualcosa con javascript?

 header e poi fargli qualcosa con javascript?
Per generare localmente un file dovresti avere dei privilegi alti sul pc 
client, e l'innesto di codice lato client mi sembra complichi la situazione; 
oltre che la manutenzione/modifica mi pare intricata...
Ciao.
-- 
Sergio MAZZA