Excelの操作

Excelファイルの起動

別インスタンス

Sub Excel_Open()
   ' Excelインスタンスの生成
   Dim ExcelApp As Object
   Set ExcelApp = CreateObject("Excel.Application")
   ExcelApp.Visible = True
   
   ' Excelファイルを開く
   Dim ExcelBook As Object
   Set ExcelBook = ExcelApp.Workbooks.Open(ThisWorkbook.Path & "\abc.xlsx")
   
   ' Sheetを選択
   Dim ExcelSheet As Object
   Set ExcelSheet = ExcelBook.Worksheets(1)
End Sub

同一インスタンス

Sub Excel_Open2()
   ' Excelインスタンスの生成
   Dim ExcelApp As Object
   Set ExcelApp = GetObject(, "Excel.Application")
   ExcelApp.Visible = True
   
   ' Excelファイルを開く
   Dim ExcelBook As Object
   Set ExcelBook = ExcelApp.Workbooks.Open(ThisWorkbook.Path & "\abc.xlsx")
   
   ' Sheetを選択
   Dim ExcelSheet As Object
   Set ExcelSheet = ExcelBook.Worksheets(1)
End Sub

メモ

オブジェクトの宣言

Dim ExcelApp As Excel.Application
Dim ExcelBook As Excel.Workbook
Dim ExcelSheet As Excel.Worksheet

読み取り専用で開く場合

Set ExcelBook = ExcelApp.Workbooks.Open(FileName, ReadOnly:=True)

Excelファイルを開くだけで良い場合

sub sample()
   ' Excelインスタンスの生成
   Dim ExcelApp As Object
   Set ExcelApp = CreateObject("Excel.Application")
   ExcelApp.Visible = True
   
   ' Excelファイルを開く
   ExcelApp.Workbooks.Open "c:\book1.xlsx"
end sub

Excelを閉じる

エクセルのインスタンスを閉じる

Application.Quit
  • 上記のオブジェクトを用いると「ExcelApp.Quit」

ブックを閉じる

ExcelBook.Close