AccessからExcelファイルを開く

コンピューターのお仕事
スポンサーリンク

MicrosoftAccessからExcelファイルを開いて、任意のシートの任意のセルにコメントを挿入するという要望があったのでやってみました。

下記ではローカルコンピュータのファイルを開く仕様になっていますが、パスの部分を変更すればファイルサーバーなどに保管してあるファイルにも使えます。

いろいろ使いまわしできそうなので、よかったら使ってみてください。

スポンサーリンク

accessVBAのソースコード

sub ExcelOpen()
Dim openFileName As String
Dim c_name As String
Dim objExcel

'エクセルオブジェクトを作成します
Set objExcel = CreateObject("Excel.Application")

'エクセル画面を表示します
objExcel.Visible = True

'openFileNameには任意のファイルパスが入ります。
openFileName = "c:\hoge\hogehoge\"
'c_nameには任意のファイル名が入ります。
c_name ="任意のエクセルファイル.xlsx" 

'openFleName とc_nameをつなげることで、絶対パスとしてファイルオープンする。
objExcel.Workbooks.Open openFileName & c_name

'ファイルを開いて任意のセルにコメントを入れます。
objExcel.Worksheets("Sheet1").Cells(1, 1) = "がっつり"
'objExcel.sheets(1).Cells(1, 1) = "がっつり"
'エクセルオブジェクトの破棄
Set objExcel = Nothing
End Sub

動作イメージと応用方法

上記コードをVBエディタの標準モジュールからメインウインドウを開いて貼り付けてください。

マクロを貼り付けるVBエディタの開き方がわからない場合は下記を参考にしてください。

ファイルパスとファイル名を変更して使用してください。具体的には、13行目のファイルパス(フォルダ名)と15行目のファイル名、21行目のコメント入力を変更します

21行目をコピーして値を変更すれば、複数のセルにコメントを入力できます。

ソースコードの実行方法

ファイルパスとファイル名を変更したら、試しに実行してみましょう。

VBエディタのイミディエイトウインドウでプロシージャー名 openFileName と入力すればコードが実行されるはずです。

イミディエイトウインドウの使い方は下記に詳しく記述しています。

VBAでイミディエイトウインドウからコードを呼び出し
イミディエイトウインドウからコードを呼び出す方法し、構文チェックなどをサクッとチェックする方法をメモっておきます。

まとめ

Accessは便利ですがExcelのほうが簡単にデータを扱える場合があるので、このようなソースコードは便利に使えると思います。

うまく動作しない場合などは、お気軽にコメントください。この記事があなたのお仕事のお役に立てれば幸いです。

Excel VBAを勉強中の方におすすめの書籍

コメント

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