VB.NETでEXCELの罫線の太さを指定するには?

解決


ゴメス  2005-06-14 05:50:20  No: 122568

お疲れ様です。

VB.NETでEXCELの罫線引き、外枠だけ太線に指定したいのですが、
どうるればよいのでしょうか?いろいろ調べまして、指定した範囲に
罫線を引くところまではできたのですが・・・(下記コード)。

'入力された範囲に罫線を引く
xlSheet.Range(xlSheet.Cells(11, 1), xlSheet.Cells(11 + shrRow - 1, 15)).Borders.LineStyle = Excel.XlLineStyle.xlContinuous

お忙しいところ申し訳ありませんが、ご享受よろしくお願いいたします。


魔界の仮面弁士  2005-06-14 06:17:43  No: 122569

線種の指定にはLineStyleプロパティで指定しますが、
罫線の太さは、Weightプロパティで指定します。この場合は、
  〜.Weight = Excel.XlBorderWeight.xlHairline  '極細線
  〜.Weight = Excel.XlBorderWeight.xlThin      '細線
  〜.Weight = Excel.XlBorderWeight.xlMedium    '中太線
  〜.Weight = Excel.XlBorderWeight.xlThick     '太線
という感じですね。

LineStyleとWeightの組み合わせによって、罫線種が指定できます。
罫線の指定については、下記を参照してみてください。
(下記はVBA/VBScript向けに書いた資料ですが、VB.NETでも基本は一緒です)
http://www.ocv.ne.jp/~oratorio/windev/Excel/ExcelLine.pdf
http://www.ocv.ne.jp/~oratorio/windev/Excel/ExcelLine.xls

ただし、.NETでは、Excelのオブジェクトを『ReleaseComObject』で
解放しなければならないので、呼出し手順は冗長的になります。

> xlSheet.Range(xlSheet.Cells(11, 1), xlSheet.Cells(11 + shrRow - 1, 15)).Borders.LineStyle = Excel.XlLineStyle.xlContinuous
VBA/VBS/VB6であれば、そのような書き方で良いのですが、
VB.NETではそのような書き方をしてはいけません。

そのコードでも、罫線は一応引かれますが、「ReleaseComObject」での
解放が行われていませんので、そのままだと、オブジェクトが終了せず、
Excelのプロセスが非表示で残ってしまう可能性があります。
http://www.bcap.co.jp/hanafusa/bbs/wforum.cgi?mode=allread&no=1660


ゴメス  2005-06-15 02:40:13  No: 122570

無事解決いたしました。お忙しいなかご指導ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加