tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板)
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re^4: Excelのプロセス
投稿日: 2007/03/05(Mon) 15:38
投稿者Jack
魔界の仮面弁士さん、早速のアドバイスありがとうございます。
ソースはあまり変更しておりませんが(どう修正して良いのやら解らず、すみません)、
下記ソースに変更したところで、とりあえずWorkSheets(Sheetsになるのでしょうか?)
を参照する事はできエラーは出なくなりました。ありがとうございます。

        Dim objExcel As Excel.Application
        Dim objBooks As Excel.Workbooks
        Dim objBook As Excel.Workbook
        Dim objWsheets As Excel.Sheets
        'Dim objWSheets As Excel.Worksheets
        Dim objWSheet As Excel.Worksheet
        Dim objRangeA As Excel.Range
        Dim objRangeB As Excel.Range
        Dim strName As String  '開くファイルのパスを入力する

        MsgBox("出力する帳票を選択して下さい!", MsgBoxStyle.Information, "確認")
        objExcel = CreateObject("Excel.Application")
        strName = objExcel.GetOpenFilename("Excelファイル (*.xls), *.xls")
        objBooks = objExcel.Workbooks()
        objBook = objBooks.Open(strName)
        objWsheets = objExcel.Sheets()
        objWSheet = objWSheets("Sheet1")
        objRangeA = objWSheet.Cells
        objRangeB = objRangeA(1, 1)
        objRangeB.Value = "TestTestTest"

        '各オブジェクトの開放手順が解らず…
        objBook.Close()
        objBooks.Close()
        objExcel.Quit()

        MsgBox("出力終了", MsgBoxStyle.Information, "報告")

後プロセスの終了方法ですが、タスクマネージャを見る限りExcelのプロセス
は残っていないみたいです。
ただ、コレでは何となくすっきりしません(^^
オブジェクトの開放の前に、いろいろと勉強する必要ありそうです…、が、お願いします。
魔界の仮面弁士さんのおっしゃるように.Net側のメモリ開放の前にActivX側のメモリ開放
を行う必要があるということですが、そのあたりの手順とか理論がいまいち解っておりません。
勉強不足で申し訳ありませんが、そのあたりの手順について宜しくお願いできないでしょうか?

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。