Francis-mr
Nombre de messages : 186 Date d'inscription : 26/11/2012
| Sujet: Ouverture d'Excel Lun 15 Avr 2013 - 18:39 | |
| Bonjour à tous J'ai un problème avec l'utilisation d'Excel. Quand je lance Excel pour y écrire et que je le ferme après, il n'est plus possible de l'ouvrir après (erreur "210 Excel déjà démarré"). Pour palier à ça je mets en mémoire au premier lancement puis je test son ouverture la fois suivante (enlever les apostrophes). Mais dans ce cas je peux ouvrir plusieurs cessions Excel à la suite ce que je ne souhaite pas. Y-a-t-il une solution ? Merci d'avance à ceux donneront une réponse. - Code:
-
dim n%,Xlm% :label Action
button 1 :on_click 1,Action :end
Action: ' if Xlm%=1 then excel_file_close 1 :excel_stop excel_start :excel_file_new 1 ' Xlm%=1 for n%=1 to 5 excel_write "A"+str$(n%),"Cell A"+str$(n%) excel_write "B"+str$(n%),"Cell B"+str$(n%) next n% | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Ouverture d'Excel Lun 15 Avr 2013 - 19:13 | |
| Pour arrêter Excel, il faut utiliser la commande EXCEL_CLOSE. J'ai modifié ton programme de sorte que cette commande soit émise systématiquement lorsque le programme s'arrête: - Code:
-
dim n%,Xlm%
label Action, Close
button 1 :on_click 1,Action
on_close 0,Close
end
Action: ' if Xlm%=1 then excel_file_close 1 :excel_stop excel_start :excel_file_new 1 ' Xlm%=1 for n%=1 to 5 excel_write "A"+str$(n%),"Cell A"+str$(n%) excel_write "B"+str$(n%),"Cell B"+str$(n%) next n% return Close: excel_stop return | |
|
Francis-mr
Nombre de messages : 186 Date d'inscription : 26/11/2012
| Sujet: Re: Ouverture d'Excel Lun 15 Avr 2013 - 19:34 | |
| Merci Klaus Faut-il mieux mettre "excel_stop" ou "excel_close" ? et comment intégrer cette commande sans fermer le programme ? Car si je mets une de ces intructions en fin de sub cela ferme systématiquement Excel.
| |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Ouverture d'Excel Lun 15 Avr 2013 - 20:59 | |
| "excel_close" n'existe pas. Il n'y a que "excel_file_close" qui ferme le classeur actuellement ouvert, mais sans fermer le programme lui-même. "excel_close" arrête excel. Yu peux placer ces commandes n'importe où. Dans la routine ON_CLICK d'un bouton, par exemple: - Code:
-
dim n%,Xlm%
label Action, Close
button 1 :on_click 1,Action : caption 1,"Lancer" button 2 :on_click 2,Close : caption 2,"Fermer" : left 2,300
end
Action: ' if Xlm%=1 then excel_file_close 1 :excel_stop excel_start :excel_file_new 1 ' Xlm%=1 for n%=1 to 5 excel_write "A"+str$(n%),"Cell A"+str$(n%) excel_write "B"+str$(n%),"Cell B"+str$(n%) next n% return Close: excel_stop return Ce sont des commandes comme les autres - tu peux les mettre où ça t'arrange dans le déroulement de ton programme. | |
|
Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: Ouverture d'Excel Lun 15 Avr 2013 - 21:16 | |
| Juste pour info: regarde la rubrique "Gestion de Excel" dans KGF.dll... | |
|
Francis-mr
Nombre de messages : 186 Date d'inscription : 26/11/2012
| Sujet: Re: Ouverture d'Excel Mar 16 Avr 2013 - 13:10 | |
| Bonjour @ Klaus, j'ai regardé ta gestion d'Excel dans KGF.dll, cela m'a inspiré la solution à mon problème par contrôle d'erreur en pure Panoramic (non que les dll soient impures). Encore merci de ton aide. - Code:
-
dim n% :label Action, Err on_error_goto Err
button 1 :on_click 1,Action :end
Action: excel_start :excel_file_new 1 for n%=1 to 5 excel_write "A"+str$(n%),"Cell A"+str$(n%) excel_write "B"+str$(n%),"Cell B"+str$(n%) next n% to_background 0 end Err: if error_number=110 then excel_file_close 1 :excel_stop :end | |
|
Contenu sponsorisé
| Sujet: Re: Ouverture d'Excel | |
| |
|