private void ボックス罫線1_Click(object sender, RibbonControlEventArgs e) { //選択範囲の取得 Range selection = (Range)Globals.ThisAddIn.Application.Selection; //選択範囲の数 int count = selection.Areas.Count; //複数選択範囲を配列に入れる Range[] allRange = new Range[count]; //それぞれの選択範囲について繰り返す foreach (Range r in selection.Areas) { //上端罫線を引く r.Borders.get_Item(XlBordersIndex.xlEdgeTop).LineStyle = XlLineStyle.xlContinuous; r.Borders.get_Item(XlBordersIndex.xlEdgeTop).Weight = XlBorderWeight.xlThin; //下端罫線を引く r.Borders.get_Item(XlBordersIndex.xlEdgeBottom).LineStyle = XlLineStyle.xlContinuous; r.Borders.get_Item(XlBordersIndex.xlEdgeBottom).Weight = XlBorderWeight.xlThin; //左端罫線を引く r.Borders.get_Item(XlBordersIndex.xlEdgeLeft).LineStyle = XlLineStyle.xlContinuous; r.Borders.get_Item(XlBordersIndex.xlEdgeLeft).Weight = XlBorderWeight.xlThin; //右端罫線を引く r.Borders.get_Item(XlBordersIndex.xlEdgeRight).LineStyle = XlLineStyle.xlContinuous; r.Borders.get_Item(XlBordersIndex.xlEdgeRight).Weight = XlBorderWeight.xlThin; //内部横罫線を引く r.Borders.get_Item(XlBordersIndex.xlInsideHorizontal).LineStyle = XlLineStyle.xlDash; r.Borders.get_Item(XlBordersIndex.xlInsideHorizontal).Weight = XlBorderWeight.xlThin; //内部縦罫線を引く r.Borders.get_Item(XlBordersIndex.xlInsideVertical).LineStyle = XlLineStyle.xlDash; r.Borders.get_Item(XlBordersIndex.xlInsideVertical).Weight = XlBorderWeight.xlThin; } //1行目下端に実線を入れるか確認 DialogResult result = MessageBox.Show("1行目下端は実線にしますか?", " 確 認", MessageBoxButtons.YesNo, MessageBoxIcon.Question); //YESの場合 if (result == DialogResult.Yes) { //それぞれの選択範囲について繰り返す foreach (Range r in selection.Areas) { //Range 下へシフト Range shift = r.Offset[1]; //上端から次の行 TOPに罫線を引く(実線) shift.Borders.get_Item(XlBordersIndex.xlEdgeTop).LineStyle = XlLineStyle.xlContinuous; } } }