Microsoft Access Club >VBAのTips解説 >このページ >次頁 < 前項  サイト内検索
 

GetObject関数を用いて作成済みExcelファイルにデータを書き込む方法 : VBAのTips解説



GetObject関数

GetObject関数とは、オートメーション機能を用いて、作成済みのファイルを利用しオブジェクトを操作する関数です。この関数を用いると、作成済みのファイルを自在に操作することが可能になります。しかし、引数PathNameを長さ 0 の文字列 ("") にすることで、新しいオブジェクトインスタンスを作成できるので、CreateObject関数と同じような使い方も可能です。サンプルファイルをご利用の場合、事前にExcelファイル「出席簿」を作成し、Cドライブに保存して下さい。

  • 書式
GetObject([pathname] [, class])
  • 引数
引数 意味 指定
pathname 利用するファイルの絶対パスとファイル名を指定します

省略可。省略した場合は、新しいオブジェクトインスタンスが作成されます

class 利用するオブジェクトのクラスを指定します

省略可。省略した場合は、オートメーションが、利用するオブジェクトに関連付けられたクラスを自動的に指定します

引数の設定値
  • 引数class
意味
appname アプリケーションの名前を指定します
objecttype オブジェクトの種類またはクラスを指定します

代表的なクラスとアプリケーション名

クラスとアプリケーション名 意味
Excel.Application Excel
Excel.Sheet Excelシート
Excel.Chart Excelグラフ
Word.Application Word
Word.Document Word文書
Access.Application Access
PowerPoint.Application PowerPoint
Outlook.Application Outlook
InternetExplorer.Application Internetエクスプローラー

関連項目

  1. CreateObjectメソッド
  2. Shell関数
  3. DDEInitiate関数

事例 ) 作成済みのExcelシートに「出席簿」テーブルレコードの値を全てを書き出す

作成済みのExcelシートに「出席簿」テーブルレコードの値を全てを書き出します。

  1. 非連結フォームを作成します。
  2. 実行するコマンドボタンを作成します。

コマンドボタンクリック時イベントプロシージャの作成

コマンドボタンクリック時イベントプロシージャを以下のように作成します。

Private Sub 実行_Click()

   On Error GoTo エラー

   Dim Myxl As Object
   Set Myxl = GetObject("C:\出席簿.xls", "Excel.Sheet")

   Dim intNo As Integer
   Dim CN As New ADODB.Connection
   Dim RS As New ADODB.Recordset
   Set CN = CurrentProject.Connection
   RS.Open "出席簿", CN, adOpenKeyset, adLockOptimistic

   Myxl.Application.Visible = True
   Myxl.Parent.Windows(1).Visible = True '--- A

   Do Until RS.EOF
      intNo = intNo + 1
      Myxl.Application.Cells(intNo, 1).Value = RS!ID
      Myxl.Application.Cells(intNo, 2).Value = RS!生徒名
      Myxl.Application.Cells(intNo, 3).Value = RS!出席日数
      RS.MoveNext
   Loop

   Myxl.Application.Quit '--- B

   RS.Close
   Set RS = Nothing
   CN.Close
   Set CN = Nothing
   Set Myxl = Nothing

   Exit Sub

エラー:

   MsgBox Err.Number & " : " & Err.Description
   Exit Sub

End Sub
解説
  1. Excelをアクティブにします。Windows(1) は、常にアクティブ ウィンドウです。
  2. Application オブジェクトの Quit メソッドで Excel を終了します。

動作確認

  1. フォームをビューモードで開きます。
  2. [実行] ボタンをクリックします。

  1. 「出席簿」テーブルのレコードがC:\出席簿.xlsに書き込まれます。

ページの先頭へ 前ページへ戻る

 


GetObject関数を用いて作成済みExcelファイルにデータを書き込む方法 : VBAのTips解説


 

-Microsoft Access Club-

年額2,400円でドメインネームサーバーをご用意します。自宅サーバ構築時にご利用下さい。自宅サーバーは応用範囲が広いです。
年額2,400円でドメインネームサーバー。
自社・自宅サーバ構築時にご利用下さい。
やはり、自前サーバーは応用範囲が広いです。