- PR -

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

1
投稿者投稿内容
初心者です
会議室デビュー日: 2006/07/04
投稿数: 14
投稿日時: 2006-07-18 18:00
縦罫線を破線で引く場合
xlBorders(7).LineStyle = -4115
で指定でき

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

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

手順を教えてください。
Blue
大ベテラン
会議室デビュー日: 2005/09/12
投稿数: 230
お住まい・勤務地: 知っている人は知っている
投稿日時: 2006-07-18 18:12
引用:

初心者ですさんの書き込み (2006-07-18 18:00) より:
縦罫線を太線の破線で引く方法がわかりません。

手順を教えてください。


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

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

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

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

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

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


Const xlEdgeLeft = 7
初心者です
会議室デビュー日: 2006/07/04
投稿数: 14
投稿日時: 2006-07-18 18:31
With xlBorders(7)
.LineStyle = -4115
.Weight = 2
End With
のように記述してみましたけれど、
縦罫線を太線の破線で引けません。

アドバイスお願いします。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-07-18 18:37
同じ方ですよね。

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

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

引用:

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

With xlBorders(7)
  .LineStyle = -4115
  .Weight = 2
End With


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

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
カルガモ
常連さん
会議室デビュー日: 2006/06/27
投稿数: 20
投稿日時: 2006-07-18 19:17
こんにちは。

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にもありす。

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

ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2006-07-19 09:50
いやーそれ以前の問題かな。何で誰も指摘しないんだろう?
引用:

初心者ですさんの書き込み (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回もじゃんぬねっと氏に教示うけとるのに何でなおってないのかねー。
1

スキルアップ/キャリアアップ(JOB@IT)