VB Excel操作テクニック.NET

VBでExcelを読込み、操作するテクニック集。貼付だけで機能するソースコードも公開。
複数のセルを結合する
複数のセルを結合する

複数のセルを結合する

複数セルを選択し、セル結合を行うコードです。

以下のコードでは、A1セルからC4セルまでを選択してセル結合しています。

' Excelアプリケーション
Dim xlApp As Application = Nothing

' ワークブック
Dim xlBooks As Workbooks = Nothing
Dim xlBook As Workbook = Nothing

' シート
Dim xlSheets As Sheets = Nothing
Dim xlSheet As Worksheet = Nothing

' セル
Dim xlCells As Range = Nothing      ' シートオブジェクトセルの受け皿
Dim xlRngFrm As Range = Nothing     ' 範囲指定セル(From)用
Dim xlRngTo As Range = Nothing      ' 範囲指定セル(To)用
Dim xlTarget As Range = Nothing     ' 対象セル(複数セル)指定用


' Excelを開く
xlApp = New Application
xlApp.DisplayAlerts = False
xlBooks = xlApp.Workbooks
xlBook = xlBooks.Open("対象Excelまでのパス")
xlSheets = xlBook.Worksheets
xlSheet = DirectCast(xlSheets(1), Worksheet)   ' 1シート目を操作対象に設定

' A1セル(From)とC4セル(To)のオブジェクトを作成
xlCells = xlSheet.Cells
xlRngFrm = DirectCast(xlCells(1, 1), Range)
xlRngTo = DirectCast(xlCells(3, 4), Range)
xlTarget = xlSheet.Range(xlRngFrm, xlRngTo)    ' A1セルからC4セルまでをまとめて指定

' 複数セルのマージ
xlTarget.Merge()


' Excelを表示して3秒間表示
xlApp.Visible = True
System.Threading.Thread.Sleep(3000)


' ■■■以下、COMオブジェクトの解放■■■

' レンジ解放
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlTarget)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRngTo)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlRngFrm)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlCells)

' Sheetのクローズ処理
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheet)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlSheets)

' Excelのクローズ処理
xlBook.Close()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBook)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)

' アラートを戻す
xlApp.DisplayAlerts = True

' ExcelApplicationを閉じる
xlApp.Quit()
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp)

'

※ COMオブジェクトの解放をまとめたい方は、こちらでメソッドの紹介をしています。

« »