AccessVBA入門⑤OLEオートメーション

Access

今回は、ExcelなどのAccessとは別のアプリケーションを操作できるようにするOLEオートメーション(Object Linking and Embedding オートメーション)について紹介します。Accessを操作していて、Excelも一緒にVBAで操作したいケースはよくあるので、とても利用価値の高い機能です。なお、操作できるアプリケーションはOLEオートメーション機能がサポートしているアプリに限られます。

Sub Test1()
  Dim MyExcel As New Excel.Application
  Dim MyBook As Workbook
  Dim i As Long, j As Long
  MyExcel.Visible = True

  Set MyBook = MyExcel.Workbooks.Add
  For i = 1 to 5
    For j = 1 to 5
      MyBook.ActiveSheet.Cells(i,j).Value _
        = "test(" & i & "," & j & ")"
    Next j
  Next i
  MsgBox "Excelを開きました"

  MyExcel.Quit
  Set MyBook = Nothing
  Set MyExcel = Nothing
End Sub
Sub Test2()
  Dim MyExcel As New Excel.Application
  Dim MyBook As WorkBook
  Dim MyVar As Variant, v As Variant
  Dim MyStr As String, i As Long
  MyExcel.Visible = False
  Set MyBook = MyExcel.Workbooks.Open(CurrentProject.Path & "¥sample")

  MyVar = MyBook.ActiveSheet.UsedRange
  For Each v In MyVar
    i = i + 1
    If i Mod 5 <> 0 Then
      MyStr = MyStr & v & Space(2)
    Else
      MyStr = MyStr & v & vbCrLf
    End If
  Next v
  MsgBox.MyStr

  MyExcel.Quit
  Set MyBook = Nothing
  Set MyExcel = Nothing
End Sub

コメント

タイトルとURLをコピーしました