[Résolu][Calc]fermeture document erreur CloseVetoException
Publié : 02 août 2008 17:15
Bonjour,
J'ai un petit soucis pour fermer un document
je lance mon fichier "fichier.ods", une boite de dialogue s'ouvre au démarrage;
cette dernière contient un bouton "quitter"
quand je suis sous openoffice 2.2.1
si je ferme cette boite de dialogue et que je lance cette même boite de dialogue depuis l'éditeur de macro et que je clique sur le bouton "quitter" cela ferme le document normalement
du moins, il reste une fenêtre de l'éditeur de macro vierge mais openoffice lui se ferme normalement ?
si je ne ferme pas cette boite de dialogue au démarrage et que je clique sur le bouton "quitter" cela provoque l'ereur suivante
Runtime Error Basic
Exception
Type : sun.com.star.util.CloseVetoException
Message : Controller disagree ....
quand je suis sous openoffice 2.4.1
si je ferme cette boite de dialogue et que je lance cette même boite de dialogue depuis l'éditeur de macro et que je clique sur le bouton "quitter" cela ferme le document normalement
du moins, il reste une fenêtre de l'éditeur de macro vierge mais openoffice lui se ferme normalement ?
si je ne ferme pas cette boite de dialogue au démarrage et que je clique sur le bouton "quitter" cela ne provoque pas l'erreur suivante
Runtime Error Basic
Exception
Type : sun.com.star.util.CloseVetoException
Message : Controller disagree ....
mais openoffice me dit qu'une erreur inattendue est intervenue et il me demande si je veux envoyer le rapport d'erreur, puis il lance la restauration du fichier "fichier.ods" ce que je ne veux pas. je veux qu'il se ferme.
document.Store() j'ai mis ceci à la place d'un dispatcher, je l'ai vu dans un réponse de dude dans un autre post sur le même sujet.
moi la boite de dialogue "boite_principale" s'ouvre, les boites combinées se remplissent de leurs données, les champs se mettent à jour tout va bien, j'attends un peu puis je clique sur le bouton "quitter"
et là, problème que ce soit sous openoffice 2.2.1 ou 2.4.1
1) mais le fait de cliquer sur le bouton "quitter" de cette boite de dialogue qui a été lancée depuis l'éditeur de macro
ne provoque pas la même erreur que
2) de cliquer sur le bouton "quitter" directement âprès l'ouverture de la boite de dialogue qui s'ouvre au démarrage du document
éditeur de Calc OUTILS PUIS PERSONNALISER PUIS EVENEMENT PUIS OUVERTURE DE DOCUMENT
méthode que je souhaite utiliser
merci d'avance
J'ai un petit soucis pour fermer un document
je lance mon fichier "fichier.ods", une boite de dialogue s'ouvre au démarrage;
cette dernière contient un bouton "quitter"
quand je suis sous openoffice 2.2.1
si je ferme cette boite de dialogue et que je lance cette même boite de dialogue depuis l'éditeur de macro et que je clique sur le bouton "quitter" cela ferme le document normalement
du moins, il reste une fenêtre de l'éditeur de macro vierge mais openoffice lui se ferme normalement ?
si je ne ferme pas cette boite de dialogue au démarrage et que je clique sur le bouton "quitter" cela provoque l'ereur suivante
Runtime Error Basic
Exception
Type : sun.com.star.util.CloseVetoException
Message : Controller disagree ....
quand je suis sous openoffice 2.4.1
si je ferme cette boite de dialogue et que je lance cette même boite de dialogue depuis l'éditeur de macro et que je clique sur le bouton "quitter" cela ferme le document normalement
du moins, il reste une fenêtre de l'éditeur de macro vierge mais openoffice lui se ferme normalement ?
si je ne ferme pas cette boite de dialogue au démarrage et que je clique sur le bouton "quitter" cela ne provoque pas l'erreur suivante
Runtime Error Basic
Exception
Type : sun.com.star.util.CloseVetoException
Message : Controller disagree ....
mais openoffice me dit qu'une erreur inattendue est intervenue et il me demande si je veux envoyer le rapport d'erreur, puis il lance la restauration du fichier "fichier.ods" ce que je ne veux pas. je veux qu'il se ferme.
Code : Tout sélectionner
REM ***** BASIC *****
Dim document as Object
Dim feuille as Object
Dim plage as Object
Dim cellule as Object
Public Const NOMBRE_INFORMATION_SERVICE = 13
Dim boite_principale as Object
Dim boite_creation_service as Object
Dim boite_statistique as Object
Dim boite_statistique_accueil as Object
Dim boite_statistique_courrier as Object
REM boite de dialogue principale
Public Sub procedure_boite_principale
Call procedure_affiche_page_accueil
' protéger toutes les feuilles
document = ThisComponent
For p = 0 To document.Sheets.Count()-1
feuille = document.Sheets(p)
feuille.Protect("feuille")
Next p
' masquer toutes les feuilles
For m = 1 To document.Sheets.Count()-1
feuille = document.Sheets(m)
feuille.IsVisible = FALSE
Next m
DialogLibraries.LoadLibrary("Standard")
boite_principale = CreateUnoDialog(DialogLibraries.Standard.boite_principale)
boite_principale.getControl("DateField1").Text = Date
boite_principale.getControl("OptionButton2").State = TRUE
Call procedure_boite_principale_liste_civilite
Call procedure_boite_principale_liste_objet
Call procedure_boite_principale_liste_destinataire
Call procedure_boite_principale_liste_signataire
boite_principale.getControl("TextField7").Text = "DURAND DUPONT"
boite_principale.getControl("DateField1").setFocus
boite_principale.Execute()
End Sub
Public Sub procedure_boite_principale_quitter
boite_principale.endExecute()
' sélectionner le document actif
document = ThisComponent
If (HasUnoInterfaces(document,"com.sun.star.util.XCloseable") = TRUE) Then
document.Store()
Wait 1000
document.close(TRUE)
end if
End Sub
moi la boite de dialogue "boite_principale" s'ouvre, les boites combinées se remplissent de leurs données, les champs se mettent à jour tout va bien, j'attends un peu puis je clique sur le bouton "quitter"
et là, problème que ce soit sous openoffice 2.2.1 ou 2.4.1
1) mais le fait de cliquer sur le bouton "quitter" de cette boite de dialogue qui a été lancée depuis l'éditeur de macro
ne provoque pas la même erreur que
2) de cliquer sur le bouton "quitter" directement âprès l'ouverture de la boite de dialogue qui s'ouvre au démarrage du document
éditeur de Calc OUTILS PUIS PERSONNALISER PUIS EVENEMENT PUIS OUVERTURE DE DOCUMENT
méthode que je souhaite utiliser
merci d'avance