2010-10-04 12 views
0

Je copie le contenu d'un fichier Excel dans le Presse-papiers dans un programme que j'ai écrit. Je peux ensuite utiliser ces données en mémoire plutôt que de «bavarder» constamment avec Excel.Aide du Presse-papiers C#

Quand j'ai fini avec les données, je cal une méthode de nettoyage qui appelle Clipboard.Clear() d'abord et puis ferme toutes les feuilles Excel/classeurs/apps, etc.

Le problème est, même si je clair le Presse-papiers avant de fermer les feuilles Excel, je reçois une fenêtre pop-up toujours en disant qu'il y a une quantité importante de données dans le presse-papiers. Quelqu'un sait pourquoi?

Merci,

Darren.

+0

Pourriez-vous s'il vous plaît partager du code avec nous, afin que nous sachions exactement ce que vous faites? – Bobby

Répondre

3

Vous ne savez pas pourquoi cela se produit, mais avez-vous essayé de définir _Application.DisplayAlerts = false; (MSDN) avant de fermer les feuilles pour voir si cela empêche le message d'avertissement?

+0

Merci, fonctionne comme un charme –

0

Vous pouvez essayer de régler la Excel CutCopyMode property pour annuler les informations de copie:

Application.CutCopyMode = false; 

Une autre idée est de définir le presse-papiers String.Empty de sorte que la quantité de données copiées est assez petit pour qu'il contourne la fenêtre d'avertissement. Cela doit être fait à partir de la feuille Excel, pas du presse-papiers standard (c'est-à-dire, copier une cellule de la feuille active dans Excel).

0

Eh bien à la fin, essayez de copier une chaîne vide dans le presse papier et laissez-le, puis Excel ne peut donner aucun avertissement. Mais utilisez l'API Excel pour copier une chaîne vide dans le presse-papiers.