pickup

目次

ACCESSから、閉じているExcelへデータ転送

こんにちは。伊川(@naonaoke)です。

ブログで紹介した事例

ACCESSからExcelへ転送する


Excelから、閉じているExcelへ転送


このよな技を紹介しました。

まだまだ、たくさんあるのですが、今回は、ACCESSから、閉じているExcelへデータを転送します。

問題提起

 

(株)IKAWAの阿久 世子男(アク セスオ)は上司から下記のような依頼を受けました。

ACCESSで登録した内容をリアルタイムでExcelで確認したい。

こんなことができるのだろうか?

解決策

回答
sesuo2.jpg
・OLEオートメーション機能を利用するとACCESSから、Excelへ連携ができます。

 

Object Linking and Embedding

Object Linking and Embedding (OLE、オブジェクトのリンクと埋め込み)は、マイクロソフトが開発した、オブジェクトをやり取りするための仕組み・規約である。 開発者に対しては、OLEコントロール拡張(OLE Control Extension, OCX)のような、カスタムユーザーインターフェイス要素の開発と利用をもたらす。 技術詳細的には、OLEオブジェクトは、IOleObjectインターフェイス[1]を実装した何らかのオブジェクトである(オブジェクトの要求仕様によっては、他のインターフェイスをともに実装していることもある)。

 

なんかよくわからないですが、要するに、ことなるアプリケーション同士でも、操作できますということを言っています。

ACCESSからExcelへデータ転送 作成手順その1  データベース確認


今回は試験運用なので、データベースはありません。

「レコード検索」のボタンを押すとExcelにデータ転送が開始します。

ACCESSからExcelへデータ転送 作成手順その2  ボタンにVBAのコードを仕込む

上の図がコードの説明になります。

Private Sub コマンド0_Click()
    Dim AppObj As Object    'Excel.Applicationオブジェクトの宣言
    Dim WBObj As Object     'Excel.Workbookオブジェクトの宣言
    Dim WsObj As Object      'Excel.WorkSheetオブジェクトの宣言
    Dim FilePath As String
    
    FilePath = Application.CurrentProject.Path & "\本日の売上.xlsx"
    
      Set AppObj = CreateObject("Excel.Application")  '実行時バインディング
      Set WBObj = AppObj.WorkBooks.Open(FilePath)  'ワークブックを開く
      Set WsObj = WBObj.Worksheets("Sheet1")
      AppObj.Visible = True
      WsObj.Range("A1").Value = "Access"

    AppObj.DisplayAlerts = False
    WBObj.Save   'ワークブックを保存する
    WBObj.Close 'ワークブックを閉じる
    AppObj.Quit
    AppObj.DisplayAlerts = True
End Sub

 

ACCESSからExcelへデータ転送 作成手順その3  コードを実行する


処理が実行されました。

実務では、通常このような処理はしません。

フォームに入力したものを、さらにExcelへ転送すると思います。

フォームに入力した値を、Excelへ転送する場合は、また、次の機会に紹介します。

ここがポイント

 

ここがポイント
Function8.png
しかし、実務ではマレでも、どの用に実現するかということは、VBAの思考回路を鍛えるのにとても重要です。

 

スポンサーリンク

まとめ

今回のまとめ
sesuo6.jpg
もっと貪欲にスキルを身につけようと思った阿久 世子男(アク セスオ)なのでした。

今回のサンプルファイルは、ありません。完成のファイルを用意しますので、おまちください。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事