tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトル値を Null にすることはできません
記事No11062
投稿日: 2013/02/26(Tue) 10:22
投稿者kuni
はじめまして。
実は、vb.netのエラーで質問があります。
エクセルのデータをリストボックスに書き出すプログラムを作っていまして、
エクセルのデータがスペースになったら処理をやめる様にしているのですが、
エクセルがスペースになったところで、
「値を Null にすることはできません。」というエラーメッセージが出てしまいます。
それが以下のコードです。


    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        xlsApp = New Excel.Application
        xlsBooks = xlsApp.workbooks
        xlsBook = xlsBooks.Open(GetAppPath() & "\サンプルファイル\得意先マスター")
        xlssheet = xlsBook.Worksheets(1)

        i_Row = 2
        i_Clm = 1
        Do
            Number = NullOrNothing(Str(xlssheet.Cells(i_Row, i_Clm).value))
            If Number Is Nothing OrElse Number = "" Then
                Exit Do
            Else
                ListBox1.Items.Add(xlssheet.Cells(i_Row, i_Clm).value)
            End If
            i_Row = i_Row + 1
        Loop

        xlsBook.Close()
        xlsApp = Nothing
        xlsBooks = Nothing
        xlsBook = Nothing
    End Sub

    Public Shared Function GetAppPath() As String
        Return System.IO.Path.GetDirectoryName( _
            System.Reflection.Assembly.GetExecutingAssembly().Location)
    End Function
  
  Public Shared Function NullOrNothing(ByVal Txt As String) As String
        If Txt Is "Null" Then
            NullOrNothing = Nothing
        Else
            NullOrNothing = Txt
        End If
    End Function
End Class

何かいい解決策があれば、教えてください。
お願いします。

[ツリー表示へ]
タイトルRe: 値を Null にすることはできません
記事No11063
投稿日: 2013/02/26(Tue) 12:53
投稿者VBレスキュー(花ちゃん)
> はじめまして。
何回か投稿されていますよね。
参照オプションVBIDEが見つかりませんという警.. - kuni 13/01/31-13:57 No.11029 を
投稿された方同じ方ですよね。

レスが付いたら返事をするようにして下さい。
当サイトをご利用になるのなら[初めにお読み下さい]を読んでマナーを守って下さい。

> 実は、vb.netのエラーで質問があります。

前回の時も書きましたが、環境は正確に詳しく書くようにして下さい。
今回のように、Excel を操作しているのなら、当然 Excel のバージョンも

> 「値を Null にすることはできません。」というエラーメッセージが出てしまいます。
> それが以下のコードです。
そのセルにはどのようなデーターが入っていて、下記プログラムのどの行でエラーがでて
いるのか?
それに対して貴方はどのように対処したかなど書いて頂かないと回答者は、貴方のそばで
見ている訳ではないので適切な回答ができません。

それ以前に下記のようなコードでは、タスクマネージャに、Excel のプロセスが残る事
になります。(動かすこと自体問題かと)

ここの左のメニューの Excel 関係やサンプル投稿用の掲示板の VB2010からExcelを
操作するためのワンポイントテクニック集(VB.NET) 等をご覧になって下さい。
その中には、セルのエラー値を取得する 等もありますし。


[ツリー表示へ]
タイトルRe^2: 値を Null にすることはできません
記事No11064
投稿日: 2013/02/26(Tue) 14:39
投稿者kuni
> 何回か投稿されていますよね。
> 参照オプションVBIDEが見つかりませんという警.. - kuni 13/01/31-13:57 No.11029 を
> 投稿された方同じ方ですよね。
>
> レスが付いたら返事をするようにして下さい。
どうもすみませんでした。


> それ以前に下記のようなコードでは、タスクマネージャに、Excel のプロセスが残る事
> になります。(動かすこと自体問題かと)
私は、VB.NETについては、初心者でよくわからないまま、手探りで組んでおります。
excelのプロセスの残らないやり方とは、どういう組み方がよろしいのでしょうか?

[ツリー表示へ]