Clipboard.GetData() возвращает значение null, когда этого не должно бытьC#

Место общения программистов C#
Anonymous
Clipboard.GetData() возвращает значение null, когда этого не должно быть

Сообщение Anonymous »

Я копирую ячейки из документа Excel в буфер обмена, чтобы их можно было вставить в другое место в виде изображения. Ячейки копируются в буфер обмена нормально, так как я могу вставить изображение вручную после запуска кода. Однако я не могу получить данные. Вот мой код:

Код: Выделить всё

tempWorkSheet.Range[tempWorkSheet.Cells[1, 1], tempWorkSheet.Cells[3, 3]].CopyPicture(Excel.XlPictureAppearance.xlScreen, Excel.XlCopyPictureFormat.xlPicture);

// returns true
var test = Clipboard.GetDataObject().GetDataPresent(DataFormats.EnhancedMetafile);

// returns true
var test2 = Clipboard.ContainsData(DataFormats.EnhancedMetafile);

// returns null
var test3 = Clipboard.GetData(DataFormats.EnhancedMetafile);

// returns null
var test4 = Clipboard.GetDataObject().GetData(DataFormats.EnhancedMetafile);
Данные хранятся как EnhancedMetaFile, и я вижу данные там, но не могу их извлечь. Я нахожусь на грани, пытаясь понять это. Кто-нибудь видит что-то, что мне не хватает?

Я видел этот вопрос, но он мне не очень помог. Надеюсь, кто-нибудь сможет.

Вернуться в «C#»