あなたの質問に一日中悩まされていましたが、やっと解決しました!
重複を削除する列番号を指定する必要があります。
範囲を指定した後でも、列を指定する必要があります。この説明は、これがオプションであると述べているという点で誤解を招きやすく、これを空白のままにすると、範囲全体で重複が検索されることを示しています。本当じゃない。
この説明は、これがオブジェクト配列である可能性があると述べているという点で、より誤解を招くものです。列を指定できる唯一の方法は数値によるものであり、整数の配列をこのメソッドに渡すと実行時エラーが発生します。
このメソッドに渡す 2 番目のブール値パラメーターは期待どおりに機能し、列の最初のセルにタイトルが含まれていることを宣言できます。
次のコードは、列1から重複を削除することに関して、私にとってはうまくいきます:
using System.Runtime.InteropServices;
using Excel = Microsoft.Office.Interop.Excel;
namespace RemoveDupes
{
class Program
{
static void Main()
{
var excel = new Excel.Application();
var workbook = excel.Workbooks.Open(@"C:\Test\Test.xlsx");
Excel.Worksheet worksheet = workbook.Sheets[1];
var usedRange = worksheet.UsedRange;
usedRange.RemoveDuplicates(1);
workbook.Close(true);
Marshal.ReleaseComObject(excel);
}
}
}