【VB.NET】 Visual Basic .NET を使用して Excel のイベントを処理する方法<Excelオートメーション学習>

マイコンから高速で送信されてくるデータをEXCEL VBAの受信ではデータ落ちしてしまうので VB.NETでいったん受信バッファして、EXCEL シートの所定の位置へデータを書き込むVB.NETプログラムを作る調査をしてます。

●前回は、EXCELオートメーションでVB.NETからセルへ配列データをRangeオブジェクトを使って書き込むサンプルを学習しました。今回は、EXCELのイベントを取得する学習をします。これと前回のプログラムを合体すると任意位置のセルをクリックすればそこへシリアル受信したデータを流しこめるようになって便利になります。

【VB.NET】Visual Basic .NET から Excel を自動化して、配列を使用して範囲内のデータを入力または取得する方法

 

●VB.NETでEXCElの現在セル位置を取得する
解説記事が手順を詳細に記述してあったので、短時間で動作確認できたので動画にしました。

 

 

 

 

 

 

■付録:古い記事ですが、EXCELへ書き込むいろいろな方法の解説があったので学習しておきます。

Visual Basic から Excel にデータを転送する方法

いくつかの方法が紹介されてます。

方法 手段
オートメーションを利用する
  • セルごとにデータを転送する
    =>データ量が増えると遅くなるのでやらない
  • 配列内のデータをセルの範囲に転送する
    =>rangeコマンドで高速でセルに書き込めるので大量データが扱えるのでこのやり方を学習する
  • CopyFromRecordset メソッドを使用して、ADO recordset 内のデータをセル範囲に転送する
    =>未学習
  • ODBC または OLEDB データソースに対するクエリの結果を含む Excel ワークシートに QueryTable を作成する
    =>未学習
  • クリップボードにデータを転送し、クリップボードの内容を Excel ワークシートに貼り付ける
    =>未学習
CSVファイルで保存 データをタブ区切りまたはコンマ区切りのテキストファイルに変換します。これにより、Excel は後でワークシートのセルにデータを区切ることができます。
=>リアルタイム性がない
ADO を使用してワークシートにデータを転送する ActiveX Data Objectライブラリーを使う方法
動的データ交換 (DDE) を使用して Excel にデータを転送する

 

l

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です