Вопрос по interop, excel, c#, excel-interop – Excel Interop - Отменить выбор

2

Я копирую и вставляю строки в лист Excel, например:

   while (rowsToAdd > 0)
   {
      // copy the existing row
      insertionCell.EntireRow.Copy(Type.Missing);

      // location of the new row
      Range newRow = insertionCell.EntireRow.get_Offset(1, 0).EntireRow;

      // insert the new row
      newRow.Insert(XlInsertShiftDirection.xlShiftDown, Type.Missing);

      rowsToAdd--;
   }

Проблема, с которой я столкнулся, заключается в том, что иногда мне оставляют выделенную область вокруг строки, которую я первоначально скопировал.

Можно ли отменить выделение (как вы обычно это делаете с помощью клавиши Escape?)

Ваш Ответ

3   ответа
2

Добавление

myExcelApplication.CutCopyMode = XlCutCopyMode.xlCopy;

кажется, добивается цели, хотядокументация не объясняет это очень хорошо, и, кажется, неправильно, так как упоминаются bools.

0

Я знаю, что он довольно старый, но, поскольку у меня возникла проблема с копированием одной строки в другую, и, когда я нашел правильное решение для своего дела, я теперь рад поделиться им, на случай, если это может решить вашу проблему (подумав о копировании строк вместо того, чтобы вставить один).

Вот решение:

Microsoft.Office.Interop.Excel.Range xlSourceRow;
Microsoft.Office.Interop.Excel.Range xlNewRow;
xlSourceRow.Copy(xlNewRow);

Использование этого решения не позволяет получить какой-либо выбор в вашем файле MS-Excel.

3

В VBA этоApplication.CutCopyMode = False

Похоже, что это enum, а не bool. Посмотреть здесь:msdn.microsoft.com/en-us/library/office/… Charlie Salts
Вы правы, что это перечисление. Это странно, когда в нем есть перечисления, но, по крайней мере, в VBA вы также можете просто установить его в ЛОЖЬ. Я делал это много раз. Интересно, что вы решили, что документация неверна.
Может быть «запутанный» это лучшее слово. Если я пытаюсь установить его в false, я получаю ошибку компилятора. Для тех, кто не знает ничего лучше, это будет выглядеть как ошибка в документации. Charlie Salts

Похожие вопросы