12

Microsoft のドキュメントから、「xlBordersIndex」プロパティを使用してセルの特定の境界線にアクセスし、たとえばセルの左端の境界線スタイルを設定できることがわかります。

range.Borders[Microsoft.Office.Interop.Excel.XlBordersIndex.xlEdgeLeft].LineStyle =     Excel.XlLineStyle.xlContinuous;

しかし、すべての境界線を描画したい場合はどうすればよいでしょうか? 私が試してみました

range.BorderAround2();

しかし、それは範囲自体の周りにボックスを描くだけで、私は理解しています. それで、私は試しました

range.Cells.BorderAround2();

範囲内の各セルを通過し、各セルの周りにすべての境界線を配置すると考えています。これは起こったことではありません。範囲内のすべてのセルの周りにすべての境界線を取得するには、4 つの境界線インデックスのそれぞれに手動でアクセスする必要がありますか?

4

7 に答える 7

22
private void AllBorders(Excel.Borders _borders)
    {
        _borders[Excel.XlBordersIndex.xlEdgeLeft].LineStyle = Excel.XlLineStyle.xlContinuous;
        _borders[Excel.XlBordersIndex.xlEdgeRight].LineStyle = Excel.XlLineStyle.xlContinuous;
        _borders[Excel.XlBordersIndex.xlEdgeTop].LineStyle = Excel.XlLineStyle.xlContinuous;
        _borders[Excel.XlBordersIndex.xlEdgeBottom].LineStyle = Excel.XlLineStyle.xlContinuous;
        _borders.Color = Color.Black;
    }
于 2013-02-07T20:47:30.610 に答える
8
oRange = SHEET2.get_Range("a1", "a10");
oRange.Borders.get_Item(Excel.XlBordersIndex.xlEdgeLeft).LineStyle = Excel.XlLineStyle.xlContinuous;
oRange.Borders.get_Item(Excel.XlBordersIndex.xlEdgeRight).LineStyle = Excel.XlLineStyle.xlContinuous;
oRange.Borders.get_Item(Excel.XlBordersIndex.xlInsideHorizontal).LineStyle = Excel.XlLineStyle.xlContinuous;
oRange.Borders.get_Item(Excel.XlBordersIndex.xlInsideVertical).LineStyle = Excel.XlLineStyle.xlContinuous;
于 2015-02-04T02:15:01.107 に答える
6

私はまだ C# に慣れていませんが、VBA にはプロパティRange.Borders(xlInsideVertical)Range.Borders(xlInsideHorizontal)プロパティがあります。マクロ レコーダーを使用して、すべてのワークブック領域にすべての境界線を適用してみてください。おそらくそれが役立つでしょう。

于 2013-02-02T16:33:44.147 に答える