tagCANDY CGI VBレスキュー(花ちゃん) の Visual Basic 2010 用 掲示板(VB.NET 掲示板) [ツリー表示へ]   [Home]
一括表示(VB.NET VB2005)
タイトルVB.NETからエクセルでの2箇所のセル選択
記事No2141
投稿日: 2005/09/16(Fri) 15:17
投稿者徳蔵丸
[OSのVer]:Windows2000    [VBのVer]:VB.NET  

こちらのサイトにはいつも大変お世話になっております。
今回は、以下の件についてご教授賜りたく投稿いたしました。

エクセルのVBAで利用できるUNIONメソッドに相当するものが
VB.NETからのエクセル操作にも実装されているのでしょうか。
いくら探しても見つけられなくてほとほと困っております。
With ActiveSheet
    Set rngTemp1 = .Range(.Cells(1, 1), .Cells(1, 5))
    Set rngTemp2 = .Range(.Cells(3, 1), .Cells(3, 5))
End With
Set rngDataRange = Application.Union(rngTemp1, rngTemp2)
上記の範囲を使ってグラフ作成を行いたいのです。
よろしくお願い致します。

[ツリー表示へ]
タイトルRe: VB.NETからエクセルでの2箇所のセル選択
記事No2151
投稿日: 2005/09/16(Fri) 17:42
投稿者なおこ(・∀・)
お世話になります。

とりあえず、unionはこんな感じですかねぇ。
Public Sub uniontest(ByVal excel_path As String)

  Dim objXlsApp As Excel.Application = New Excel.Application
  Dim objXlsBooks As Excel.Workbooks = objXlsApp.Workbooks
  Dim objXlsBook As Excel.Workbook
  Dim objXlsSheets As Excel.Sheets
  Dim objXlsSheet As Excel.Worksheet
  Dim objXlsRange1 As Excel.Range
  Dim objXlsRange2 As Excel.Range
  Dim rngDataRange As Excel.Range
  Try

    objXlsBook = objXlsBooks.Open(excel_path, , False)
    objXlsSheets = objXlsBook.Worksheets
    objXlsSheet = CType(objXlsSheets.Item(1), Excel.Worksheet)

    objXlsRange1 = CType(objXlsSheet.Cells(1, 5), Excel.Range)
    objXlsRange2 = CType(objXlsSheet.Cells(3, 5), Excel.Range)
    rngDataRange = objXlsApp.Union(objXlsRange1, objXlsRange2)

  Catch ex As Exception
    Throw ex
  Finally
    Try
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsRange1)
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsRange2)
      System.Runtime.InteropServices.Marshal.ReleaseComObject(rngDataRange)
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsSheet)
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsSheets)
      If Not IsNothing(objXlsBook) Then
        objXlsBook.Close(False)
      End If
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsBook)
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsBooks)
      If Not IsNothing(objXlsApp) Then
        objXlsApp.Quit()
      End If
      System.Runtime.InteropServices.Marshal.ReleaseComObject(objXlsApp)
    Catch ex As Exception
    End Try
  End Try
End Sub

[ツリー表示へ]
タイトルRe^2: VB.NETからエクセルでの2箇所のセル選択
記事No2155
投稿日: 2005/09/16(Fri) 18:48
投稿者徳蔵丸
[OSのVer]:Windows    [VBのVer]:VB.NET  
解決策をありがとうございます。
しかも、サンプル付きで本当にありがとうございます。
このサンプルは、目から鱗です。
頂いたサンプルを元に進めさせていただきます。
ありがとうございました。

[ツリー表示へ]