tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルエクセルの読み書き
記事No3022
投稿日: 2006/02/01(Wed) 11:50
投稿者VB一年生
[OSのVer]:Windows xp    [VBのVer]:VB.NET  
質問です。昔VB6.0でエクセルの読み書きのプログラムを書いたときは

Dim xl As Object
xl = GetObject(Application.StartupPath & "\test.xls")
'書き込み
xl.worksheets("Sheet1").cells(1, 1) = "あいうえお"
'読み込み
label1.text = xl.worksheets("Sheet1").cells(1, 1)

でOKだったんですけど、NETで書いたところ書き込みは出来るんですけど、読み込みが 型 'Range' か
ら型 'String' へのキャストが有効ではありませんとなり出来ませんでした。
何かよい解決法がありましたら教えてください。

[ツリー表示へ]
タイトルRe: エクセルの読み書き
記事No3024
投稿日: 2006/02/01(Wed) 12:30
投稿者花ちゃん
一応下記で取得できますが、色々問題があるので、ここに掲載している
ような方法で取得された方がいいかと思います。

    Label1.Text = xl.worksheets("Sheet1").cells(1, 1).text

------------------------------------------------------------------
保証はできませんが、下記なら開放されているようです。

    Dim xl As Object
    xl = GetObject("c:\Book1.xls")
    '書き込み
    Dim xlsheets As Object
    xlsheets = xl.worksheets("Sheet1")
    Dim xlRange As Object
    xlRange = xlsheets.cells(1, 1)
    xlRange.Value = "かきくけこ"
    '読み込み
    Label1.Text = xlRange.text
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRange)
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xlsheets)
    System.Runtime.InteropServices.Marshal.ReleaseComObject(xl)

[ツリー表示へ]
タイトルRe^2: エクセルの読み書き
記事No3025
投稿日: 2006/02/01(Wed) 14:05
投稿者VB一年生
[OSのVer]:Windows    [VBのVer]:VB.NET  
ありがとうございます!上記の方法でうまくいきました。
助かりました☆

[ツリー表示へ]