/ / Continuez à recevoir des invites Excel et Windows lorsque vous travaillez avec Interop Services - vb.net, excel, excel-interop

Continuez à recevoir des invites Excel et Windows tout en travaillant avec Interop Services - vb.net, excel, excel-interop

Tout cela se fait dans VB.NET en utilisant Excel 14.0 Interop Services

Je suis à la fin de mes esprits. Je continue à recevoir des invites de Windows et à exceller au milieu d'une série.

Le programme que j'ai prend dans un classeur avec des enregistrements de lot, puis exécute des simulations sur chaque enregistrement de lot, puis écrit les résultats dans le fichier Excel.

Les marches:

  1. Classeur ouvert
  2. vérifiez si le classeur est déjà utilisé par un autre programme.
    1. s'il est en cours d'utilisation. nous essayons de fermer le classeur. puis nous attendons un certain temps avant de réessayer.
    2. si le classeur n'est pas utilisé, nous continuons.
  3. Obtenez le contenu
  4. Marquer les enregistrements comme étant en cours de traitement
  5. Enregistrez et fermez le fichier.
  6. traiter les enregistrements.
  7. Suivez la procédure ci-dessus pour ouvrir le classeur.
  8. enregistrer les résultats dans le classeur.
  9. fermez le classeur.
  10. boucle ces processus jusqu'à ce que tous les enregistrements aient été simulés.

Ok les problèmes qui peuvent survenir: Le classeur est déjà utilisé ou deux programmes tentent d'interagir avec le classeur de sauvegarde en même temps.

Ok maintenant pour le problème que j'ai. Lorsque le classeur est en interaction avec deux programmes en même temps. une invite vous indiquera que le fichier est en cours d'utilisation.

Un autre problème qui survient et que je ne peux pas expliquer est que Excel affiche une invite indiquant que le fichier est maintenant prêt à être modifié avec les options lecture-écriture, notification, annulation.

Je dois trouver un moyen de gérer ces invites par programme. Si quelqu'un pouvait me diriger dans la bonne direction, je serais très reconnaissant.

Réponses:

0 pour la réponse № 1

Vous pouvez empêcher les invites d'apparaître en définissant:

Dim xlApp As Excel.Application = New Excel.Application
xlApp.DisplayEvents = False

Mais je "n’ai pas trouvé le moyen de réellement" attraper "leinvite et faire quelque chose d'utile. J'ai remarqué que souvent, si Interop ne peut pas obtenir un fichier, il lève une exception. L'exception contient rarement un moyen de distinguer l'erreur réelle, mais vous pouvez parfois résoudre le problème en fonction de ce qui pourrait se produire à ce moment-là. .