tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルExcelで罫線を作成したさいプロセスが残ってしまいます。
記事No2572
投稿日: 2005/11/14(Mon) 16:15
投稿者Kentaro
[OSのVer]:Windows2000    [VBのVer]:VB.NET 2003

いつも参考にさせて頂いています。今回初めて投稿させていただきます。
今回VB.NETでExcelを起動しデータ入力後、2つの違う種類の罫線を作成するというものを作っていま
す。
こちらにあった過去の掲示板の記事等を参考にして作成したのですがプロセスが残ってしまいます。
1つ目の
罫線だけですと残らないのですが2つ目の罫線を作成するとプロセスが残ってしまいます。
どなたか御教授お願いします。
又、今回初めて掲示板に投稿するので文章等におかしい部分がありましたら大変申し訳ありません。
'***********************罫線作成部分
       Dim objCells As Excel.Range
            Dim objRange As Excel.Range
            Dim objBorders As Excel.Borders
            Dim exrange1, exrange2 As Excel.Range

            objCells = xlSheet.Cells
'セルの範囲の指定
            exrange1 = DirectCast(objCells._Default(2, 1), Excel.Range)
            exrange2 = DirectCast(objCells._Default(50, 10), Excel.Range)
            objRange = xlSheet.Range(exrange1, exrange2)
            objBorders = objRange.Borders
'罫線の設定(一つ目)
            With objBorders(Excel.XlBordersIndex.xlInsideHorizontal)
                .LineStyle = 1 'Excel.XlLineStyle.xlContinuous
                .Weight = 1
            End With
'解放処理
            NAR(exrange1)
            NAR(exrange2)
            NAR(objCells)
            NAR(objRange)
            NAR(objBorders)
'↓↓↓↓↓こちらを書くとプロセスが残る
            objCells = xlSheet.Cells
'セルの範囲の指定
            exrange1 = DirectCast(objCells._Default(1, 1), Excel.Range)
            exrange2 = DirectCast(objCells._Default(50, 10), Excel.Range)
            objRange = xlSheet.Range(exrange1, exrange2)
            objBorders = objRange.Borders
'罫線の設定(2つ目)
            With objBorders(Excel.XlBordersIndex.xlInsideVertical)
                .LineStyle = 1 'Excel.XlLineStyle.xlContinuous
                .Weight = 2
            End With
'解放処理
            NAR(exrange1)
            NAR(exrange2)
            NAR(objCells)
            NAR(objRange)
            NAR(objBorders)
'***************************

'Excel解放
    Private Sub NAR(ByVal objXl As Object)
        Try
            System.Runtime.InteropServices.Marshal.ReleaseComObject(objXl)
            objXl = Nothing

        Catch ex As Exception
            objXl = Nothing
        End Try
    End Sub

[ツリー表示へ]
タイトルRe: Excelで罫線を作成したさいプロセスが残ってしまいます。
記事No2577
投稿日: 2005/11/14(Mon) 18:59
投稿者花ちゃん
> 1つ目の
> 罫線だけですと残らないのですが
いいえ、残っているはずです。 どのようにして確認しましたか?

1行づつコメント化していけば、どこに問題があるのかが解る筈ですが。
それを自分でやらないと今後も同じ事でつまづきますよ。
問題点が解って、対処方法が解らないというなら別ですが、少なくても問題点を
見つけるぐらいはご自分でして下さい。

後から調べるのが大変だから、私は下記のようにしております。

hhttp://www.bcap.co.jp/hanafusa/dotnet/Excel08.htm より抜粋

4.今までと違った使い方や使った事のないプロパティ等を使用した場合は、その時点でプロセスが
  終了するか確認しておく
5.コードの区切りの時点でそこまでの動作でプロセスがキチンと終了する事を確認しながら進める

>こちらにあった過去の掲示板の記事等を参考にして作成したのですがプロセスが残ってしまいます。
なら、今一度、この掲示板の[ワード検索]で[罫線]をキーワードで検索してみて下さい。
その17件の内にヒントがあります。


又、下記にも掲載してあります。
hhttp://www.bcap.co.jp/hanafusa/dotnet/Excel06.htm

[ツリー表示へ]