QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

VB.NETでエクセルに罫線を引きたいのですけれど

縦罫線を破線で引く場合
xlBorders(7).LineStyle = -4115
で指定でき

縦罫線を太線で引く場合
xlBorders(7).Weight = 1
で指定できますけれど、

縦罫線を太線の破線で引く方法がわかりません。

手順を教えてください。

質問者:初心者です

回答

初心者ですさんの書き込み (2006-07-18 18:00) より:

縦罫線を太線の破線で引く方法がわかりません。

手順を教えてください。

まずは、VB.NET関係なしで、Excelの「マクロの記録」からやってみましょう。

Excelの起動→メニューのツール→マクロ→新しいマクロの記録

で記録して、どのようなコードになっているか確認します。
コードの確認は

メニューのツール→マクロ→Visual Basic Editor

(デフォルトならば)標準モジュールに記述されるはずです。

その作業をまずやって、大体のコードを見てみましょう。
xlEdgeLeftやxlDashという定数は、Visual Basic Editorのオブジェクトブラウザを
使うとどんな値なのかわかります。


Const xlEdgeLeft = 7

投稿者:Blue

編集 履歴 (0)

With xlBorders(7)
.LineStyle = -4115
.Weight = 2
End With
のように記述してみましたけれど、
縦罫線を太線の破線で引けません。

アドバイスお願いします。

投稿者:初心者です

編集 履歴 (0)

同じ方ですよね。

  Excel シートのセルを変数で指定したいのですけれど

最後のレスで、罫線についても回答しています。

初心者ですさんの書き込み (2006-07-18 18:31) より:

With xlBorders(7)

  .LineStyle = -4115

  .Weight = 2

End With

それと、このような 「マジック ナンバー」 は使用しないに限ります。

_________________C# と VB.NET の入門サイト
じゃんぬねっと日誌

投稿者:じゃんぬねっと

編集 履歴 (0)

こんにちは。

VBではないのですが、C#だと、
// 罫線の種類
Excel.XlLineStyle.xlContinuous;
Excel.XlLineStyle.xlDash; // 破線
Excel.XlLineStyle.xlDashDot;
Excel.XlLineStyle.xlDashDotDot;
Excel.XlLineStyle.xlDot;
Excel.XlLineStyle.xlDouble;
Excel.XlLineStyle.xlSlantDashDot;
Excel.XlLineStyle.xlLineStyleNone;

// 罫線の太さ
Excel.XlBorderWeight.xlHairline;
Excel.XlBorderWeight.xlThin;
Excel.XlBorderWeight.xlMedium;
Excel.XlBorderWeight.xlThick; // 太

のようにenumの定義があります。
多分VBにもありす。

定数などは確かに控えたほうがいいでしょう。

投稿者:カルガモ

編集 履歴 (0)

いやーそれ以前の問題かな。何で誰も指摘しないんだろう?

初心者ですさんの書き込み (2006-07-18 18:00) より:

xlBorders(7).LineStyle = -4115

xlBorders(7).Weight = 1

前スレでも

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=31823&forum=7

このような書き方は危険です。

メモリリークを起こし、Excel のプロセスが解放されなくなります。

とか

OM オブジェクトなのですから、Excel.Worksheet だろうと、Excel.Range だろうと同じことです。

これらと同様に、参照カウントをデクリメントしなければなりません。

と2回もじゃんぬねっと氏に教示うけとるのに何でなおってないのかねー。

投稿者:ぶさいくろう

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。