Excelから別のExcelファイルを操作するVBA|CreateObject

Excel VBAで別のExcelファイルを開き、セルに入力したり取得する方法です。

スポンサーリンク



Homeに戻る > Excel ブックのTipsへ

Excel VBAで別のExcelファイルを操作できれば、フォルダ内の全ファイルを書き換えるようなことができます。

別のExcelファイルを開くには下記の手順で行います。

CreateObjectでExcelオブジェクトを変数に代入します。

Application.Workbooks.Openでファイル名を指定し、ブックを開きます。

後の操作は、オブジェクト変数を使用し行います。


関連する「Wordを起動し、文字を入力する」も参照してください。



別のExcelファイルを開き操作するVBA

実行コードの解説

  1. Excel用のオブジェクト変数を宣言する。
  2. Excelブック用のオブジェクト変数を宣言する。
  3. ExcelオブジェクトをCreateObjectを使い変数に代入します。
  4. ExcelブックオブジェクトをApplication.Workbooks.Openを使い変数に代入します。
  5. Visible = Trueにし表示します。
  6. Rangeでセルを指定し、値をセットします。
  7. Rangeでセルを指定し、値を取得します。
  8. Closeでブックを閉じます。
  9. この時、SaveChanges:=Falseにすることで保存せずに閉じることができます。
  10. NothingでExcelブックオブジェクト変数を開放します。
  11. Visible=Trueにしていた場合、Falseにしておきます。
  12. NothingでExcelオブジェクト変数を開放します。

実行コード

Dim tExcel As Object
Dim tObj As Object
Set tExcel = CreateObject("Excel.Application")

'ここでExcelのファイル名を指定し開きます。
Set tObj = tExcel.Application.Workbooks.Open(Filename:=ファイル名)

'別ファイルを表示したい場合は、VisibleをTrueにします。
'表示しない場合はここは必要ありません。
tExcel.Visible = True

'値をセットする場合
tObj.Worksheets(1).Range("A1").Value = 100

'値を読む場合
range("C5") = tObj.Worksheets(1).Range("A1").Value

'SaveChanges:=Falseにすると、開いたファイルに変更があっても保存せずに閉じます。
'SaveChanges:=Trueにすると、開いたファイルに変更があった場合、保存し閉じます。
tObj.Close SaveChanges:=False

'終了処理
Set tObj = Nothing

'VisibleをTrueにしていた場合は、FalseにしないとExcelウィンドウが閉じません。
tExcel.Visible = False

Set tExcel = Nothing

スポンサーリンク





Homeに戻る > Excel ブックのTipsへ

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved