| EXCELからネットワークVFDに表示する
 
     テクノベインズのネットワーク対応VFD表示装置には、プログラムからメッセージを送ることができるWindowsXP用ユーティリティSendVFDが付属しています。このプログラムを用いて、実際のアプリケーションからメッセージを表示する例を示します。 ここではマイクロソフト社のOffice 
2003のアプリケーションソフトであるExcel2003を取り上げて、その中から実際に表示を行う例を示します。Excelに限らず、AccessやWORDなどVBAを備えた言語であれば、完全に同じではありませんが参考になると思います。また、VBAに限らず、多くのデータベースソフトなどでは外部のEXEプログラムに引数を渡し、EXE実行することができますので、同様の方法を用いることでネットワーク表示装置に表示ができます。
   はじめに
      Excelは簡単に各種データを取り扱うことができます。Excelで入力されたデータをPCのネットワーク接続されたVFD86F-LAN,VFD384L-LANなどの表示装置に表示を行う例を示します。
 ExcelやWord、Accessなど、主たるMicrosoft Officeアプリケーションプログラムには、VBA(Visual Basic 
      for Applications)と呼ばれるBASIC機能を内蔵しています。VBAで作成されたプログラムは、それらアプリケーションの機能の一部として動作することができます。
 Excel以外であっても、同様の方法でメッセージを送ることで、外部の表示装置にメッセージを表示することができます。下記の方法は、メッセージ送信プログラムを呼び出すことで、ネットワーク通信を意識せずに簡単に操作することができます。
   ExcelやVBAにつきましては、ある程度知識があるものとし、ここでは解説しません。Excelについては、HelpやWeb検索にて多くの情報を得ることができます。
 また、VBAについて最初から勉強されたい場合は、たくさん参考文献が販売されていますので、それら参考書などをご覧ください。
 
      また、以下の説明では、画面フォームを小さめに表示させていますが、説明用に小さくして表示しているだけですので、実際に使用される場合は大きい画面のほうが使いやすいです。 
  
Excelワークシート
  ここではExcel 2003を用いた例を示します。表示方法のための例なので、内容は非常に簡略化しています。
 例として 工場などで商品生産する現場を想定し、あと何台生産すればよいかを作業している方に見えるように表示してみます。
 生産予定台数は最初に入力し、生産された個数を手入力し、計算された残り生産目標数を表示するものとします。 
 
 C10のセルには、=C4-C7の計算式が入っています。 最初に、当日の生産目標をC4のセルに入力します。また、定期的に生産台数を集計した値をC7セルに入力します。
 これにより、C10の計算式により生産残数を自動計算させます。  VBAを呼び出すための作業
  次にVisual Basicを使用するためのツールバーの準備をします。 VBAのツールバーはEXCELメニューの 表示→ツールバー→Visual Basicにて表示を行うことができます。 ※VBAについての表示が出ない場合は、EXCELインストール時にVBAが選択されていない可能性があります。その場合、ExcelをインストールしたCD-ROMからVBAオプションを追加インストールしてください。
 
    
 Visual Basicツールバーが表示されました。 
 ツールバーは、ドッキングできますので、使いやすい位置に再配置してください。下記はVisual Basicツールバーを、メニュー右下にドッキング配置しました。
 また、ツール表示を有効(Visual Basicツールバーのスパナとハンマーのボタン)にし、ツールバーオプションメニューを表示しました。
 
  ボタンの配置
  ツールバーオプションメニューの中のコマンドボタン(四角いボタン)を選択します。コマンドボタンをクリックすると、下記のようにボタンが押された状態になります。
 
        
 
      この状態で、Excelフォームをマウスでドラッグ(フォーム上を左クリックし、クリックしたままの状態で、マウスを移動する)することで、ドラッグ範囲がボタンとなります。コマンドボタンが生成されると、ツールバーオプションメニューの中のコマンドボタンの反転は自動的に元に戻ります。
 また、ツールバーオプションメニューの中の左上の三角定規のボタンが押された状態になっていますが、これはデザインモード実行中であることを示しています。 
 作成したボタンが選択された状態(選択中はボタン周囲に6箇所に○がついています。)で、ボタンのプロパティを変更します。選択されていない場合は、ボタンをクリックして選択します。
 プロパティとは、名称や寸法・表示など、いろいろ設定できる項目のことです。
 
    
   プロパティは、ツールバーオプションメニューの中の書類を指さしたボタンで表示できます。 
    
   プロパティ画面は、項目によっては表示された際のダイアログ内に収まりきれないことがありますので、見やすいように大きさを変えてください。 ここでは、わかりやすいようにボタンの文字を変更します。ボタン名称はCaption(キャプション)プロパティで保持していますので、ここを変更します。 
        
 ボタンに名称を付けましょう。ボタンコントロールオブジェクトのプロパティのオブジェクト名枠にbtnSendVfdと記入します。
 
        
         右上のXボタンでプロパティのダイアログ表示を消すとボタン表示内容が変更されます。 
   VBA編集画面の起動
      デザインモード実行中に作成したボタンをダブルクリックすると、VBAの編集画面がExcelの画面とは別に起動します。 
      先ほど作成したボタン名で、これをクリックした際に動作するサブルーチンを記載できるような雛形(Private Sub 
      btnSendVfd_Click)が、あらかじめ作成された開いた状態となっています。Excelのメニューから、ツール→マクロ→Visual Basic 
      EditorでもVBAの編集画面を開くことができますが、この場合は雛形は作成されません。
 ツールバーのボタンなど、画面に配置するパーツはオブジェクトと呼ばれ、すべてのオブジェクトは名称を持っています。プロパティの中のオブジェクト名により、ボタンなどすべてのコントロールオブジェクトには自由に名称をつけることができます。
 それぞれのオブジェクトは名前で区別されるために、同一のフォーム上に配置される複数のオブジェクトに同じ名称をつけることはできません。
 
        プログラムコーディング
      以下にプログラム例を示します。 指定した2箇所のセルと生産、残りなどの文字をあわせて表示文字列を作っています。初期化コマンド、IPアドレス、表示文字列をVFDDISP.EXEに渡して表示を行っています。
 表示文字列(コマンド)はマニュアルを参照ください。また、DispVFDユーティリティを用いることで簡単に作成することができます。
 
        
          | '   (C)Copyright by Techno Veins Co.,Ltd. All right reserved 2006.
' VFDDISP.EXEをインストールしたフォルダ位置にあわせる。
    Const pathSendVfd As String = "C:¥Program Files¥SendVfd¥SendVFD.exe"
    
'   VFD表示装置に設定したIPアドレス
    Const ipadrsVFD As String = " -A192.168.1.195 "     '注意:パラメータ間をスペースで区切っている
'
'   ボタンクリックで以下を実行
'
Private Sub btnSendVfd_Click()
    Dim DISPLINES As Variant 'バリアント型 (内部処理形式 String の Variant)
'   解説のために行を分けて書いてあります。
    DISPLINES = pathSendVfd             ' SendVFDのプログラムの位置を指定
    DISPLINES = DISPLINES & ipadrsVFD   ' 送信するVFDのIPアドレスを指定
    DISPLINES = DISPLINES & """"        ' 文字列引数の前後を""で囲む
    DISPLINES = DISPLINES & "~/V"       'VFD384L 12桁1行モード
    DISPLINES = DISPLINES & "生産" & Right(Space(5) & Range("c7").Value, 5) & "個"      ' ExcelシートのC5セルを5桁右詰表示
    DISPLINES = DISPLINES & "  残り" & Right(Space(5) & Range("c10").Value, 5) & "個"   ' 5桁右詰
    DISPLINES = DISPLINES & """"
'   表示なしでVFDDISPを実行する。
    Shell DISPLINES, vbMinimizedNoFocus
End Sub
 |  
         フォームに切り替えてデザインモードを終了して、テストしてみます。 
   この例では、IPアドレスを192.168.001.195に設定したVFD384Lに送信した例です。 セルに入力後、「残数表示」ボタンを押すと値がVFD384L-LANに表示されます。
 
   
       VBAのツールバーは表示されたままでも良いですがを、仕上げということで消去して完了です。 この例では、動作がわかりやすいようにボタンイベントを用いました。しかし、このままのプログラムでは、実運用にはちょっと不便と思いますので、いろいろと変更してお試しください。
 複数のボタンを配したり、いろいろなメッセージを渡すことで、いろいろな現場で使用できる専用表示プログラムも簡単に作成することができます。 VFDDISPは共通で使用できるので、設置場所にあわせたVFDをご使用ください。 
  
Last Update : 
2011/09/12
 |