1

アドインを作成しており、Excel が提供するテーブル テーブル スタイルとして Format を使用して、アドインが生成する出力をフォーマットしようとしています。

リボンの「ホームタブ」->「表としてフォーマット」ボタンで取得したもの。

私は次のコードを使用しています:

SourceRange.Worksheet.ListObjects.Add(XlListObjectSourceType.xlSrcRange,
 SourceRange, System.Type.Missing, xlYesNo, System.Type.Missing).Name =
 TableName;

SourceRange.Select();

SourceRange.Worksheet.ListObjects[TableName].TableStyle = TableStyleName;

TableStyleName は、TableStyleMedium17 のような任意のスタイル名です。Excel で特定のスタイルにカーソルを合わせるだけで取得できます。

私の問題は、SourceRange10列のままにしても、最後まですべての列が選択され、1つのテーブルと見なされることです。そのため、そのすぐ隣に入力するテーブルも、生成された最初のテーブルの一部と見なされます。両方のテーブルの列名が同じであるため、Excel は、生成される次のすべてのテーブルの列名を自動的に変更します。また、2 つのテーブルが生成された後にループでテーブルを生成しているため、次のエラーが発生します。

テーブルを別のテーブルに重ねることはできません。

PS:私は明確に次のように言及しSourceRangeています:

var startCell = (Range)worksheet.Cells[startRow, startCol];
var endCell = (Range)worksheet.Cells[endRow, endCol];
var SourceRange = worksheet.get_Range(startCell, endCell);

抜け道を提案してください。

4

2 に答える 2