3

次のように、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--;
   }

私が抱えている問題は、最初にコピーした行の周りに選択マーキーが残ることがあるということです。

選択マーキーをキャンセルする方法はありますか(通常、エスケープキーを使用してキャンセルする方法はありますか?)

4

3 に答える 3

3

追加する

myExcelApplication.CutCopyMode = XlCutCopyMode.xlCopy;

ドキュメントはそれをあまりよく説明しておらず、boolsが言及されているので間違っているようですが、トリックを行うようです。

于 2012-09-12T02:12:03.770 に答える
3

VBAではApplication.CutCopyMode = False

于 2012-09-12T01:53:44.167 に答える
0

かなり古いことはわかっていますが、ある行を別の行にコピーする際に問題が発生し、ケースで適切な解決策が得られたので、問題が解決する可能性がある場合に備えて、共有できてうれしいです(コピーについて考えてみてください)。行を挿入する代わりに)。

解決策は次のとおりです。

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

このソリューションを使用すると、MS-Excelファイルで選択を取得できなくなります。

于 2017-10-19T09:10:45.770 に答える