2010-10-04 1 views
0

Я копирую содержимое файла Excel в буфер обмена в рамках программы, которую я написал. Затем я могу использовать эти данные в памяти, а не постоянно общаться с Excel.C# Справка буфера обмена

Когда я закончил с данными, я кал метод очистки, который вызывает Clipboard.Clear(), а затем закрывает все Excel листов/рабочих книг/приложений и т.д.

Проблема заключается в том, даже если очистить Буфер обмена до закрытия листов Excel, я получаю всплывающее окно, все еще говорящее, что в буфере обмена имеется значительный объем данных. Кто-нибудь знает, почему?

Thanks,

Darren.

+0

Не могли бы вы поделиться с нами некоторым кодом, чтобы мы точно знали, что вы делаете? – Bobby

ответ

3

Не знаете, почему это происходит, но попробовали ли вы установить _Application.DisplayAlerts = false; (MSDN) перед тем, как закрыть листы, чтобы увидеть, предотвращает ли это предупреждение?

+0

Спасибо, работает как шарм –

0

Вы можете попробовать установить Excel CutCopyMode property отменить текущую информацию о копии:

Application.CutCopyMode = false; 

Другая мысль установить буфер обмена String.Empty поэтому количество данных копируется достаточно мал, что он обходит предупреждение всплывающее окно. Это может быть сделано из листа Excel, а не обычного буфера обмена (т. Е. Скопировать ячейку с активного листа в Excel).

0

Ну в конце концов, попробуйте скопировать пустую строку в буфер обмена и оставить его, то Excel не может давать какие-либо предупреждения. Но используйте Excel API для копирования пустой строки в буфер обмена.

 Смежные вопросы

  • Нет связанных вопросов^_^