【初心者向け】別ファイルをマクロを使って操作する方法!【Excel VBA】
こんにちは!『ルウちゃんのExcel Labo』管理人の@rouxchanblogです!
今回はこのような悩みについて解説します。
別ファイルを操作する方法を知りたい!
まずは実際のコードと画面を見てイメージしてみて下さい!
今回は別ファイルの”A1″セルに”こんにちは”と入力します。
※ファイルパスは実際のものとは異なりますのでそのままコピペしても動きませんのでご了承ください!
Sub Sample1()
Workbooks.Open "/Users/〇〇/〇〇/Book1.xlsm"
''別のブックをアクティブにする
Range("A1").Value = "こんにちは"
Workbooks("Book1.xlsm").Close SaveChanges:=True
End Sub
少しわかりにくいかもしれませんがこのように直接ファイルを開かずとも操作を実行することができました。
それでは以下の手順に沿って解説します!
- ファイルパスを取得する
- ファイルを開く
- ファイルに操作を行う
- 上書き保存する
ファイルパスを取得する
今回はいつものようにファイルをクリックして開くのではなく、ファイルパスを参照する方法で開きます。
なので始めにファイルパスの取得をする必要があります。
ファイルパス??って方もいると思いますので一応説明しておきます。
ファイルパスとは、フォルダ内の住所のようなものです。
「C:\Uses\Desktop\Book1.xlsx」
このようなものがファイルパスになります。
これをさえ取得できればあとはもう簡単です。
ファイルを開く
次にファイルパスを参照してファイルを開きます。
オブジェクト.メソッド “ファイルパス”
この形式に沿ってworkbooksオブジェクトにOpenメソッドをかけてファイルパスを指定すると開くことができます。
workbooksオブジェクトはworkbookを対象とするオブジェクト名です。
Openメソッドを使うことで開くことができます。
ファイルに操作を行う
ファイルが開けたら次はファイルに操作を行います。
ここでは自分が実行した操作を入力しますので特に説明は不要かと思います。
今回は例として”A1″セルに”こんにちは”と入力してみましょう。
上書き保存する
次はファイルを上書き保存して閉じます。
Close SaveChanges:=True
閉じるためにはCloseメソッドを使うことでファイルを閉じることができます。
それに加え、SaveChanges:=Trueとすることで上書きして保存することができます。
実際には上書き保存しないとわざわざマクロ機能を使っている意味がないので、Closeメソッドとセットで覚えておきましょう!
まとめ
- ファイルパスを取得する
- ファイルを開く
- ファイルに操作を行う
- 上書き保存する
今回はマクロ機能を使ったファイル操作の方法を解説しました!
この記事で少しでも皆さんのお役に立てれば幸いです!
忘れないうちにお気に入り登録もお願いします!
ありがとうございました!
コメントはお気軽に!