三菱電機 MX Sheet を使ってみました。(2017/09/27)

MX Sheet は、Excel を用いてシーケンサやモーションコントローラのモニタ/ロギング/アラーム情報の
収集/設定値の変更等を行うソフトウェア(Excel アドイン)です。製品へのリンクは、こちらです。

使う分にはとても簡単ですが、エラーが出るとその修復がなかなか大変でした。
エラーが出た場合、エラーメッセージの内容からマクロを疑いがちですが、ほかの原因だったりします。
後輩たちのために、対処方法を書き留めておきます。


■実行時エラー '9' インデックスが有効範囲にありません。

対象のファイルだけでなく、Excel を起動するだけでもこのエラーが出るようになります。


空白のブックを開いても、MX Sheet のアイコンはすべて白抜きになっています。


"Excel VBA 実行時エラー 9"で検索すると、深みにはまります。(^^;
"MX Sheet 実行時エラー 9"で検索すると、
FA-FAQ:MX Sheetで‘実行時エラー 9’が発生した場合の対処について が検索されます。
その回答どおりに Excel が生成する一時ファイルを削除すると、すっきりと解消します。
他のMX Sheet に関する FAQ については、こちらから検索して下さい。


他のExcelブックで、すでに通信が開始されています。



何も開いていない(他のエクセルブックで通信していない)状態でエラーが出たときは、接続先の再設定を行うと解消するのですが、
↓のように、MX Sheet のアイコンがすべて白抜きになって「セル設定」ができません。



新規作成の場合、MX Sheet の「セル設定」-「アクセスデータ」-「通信設定」から「通信設定ユーティリティー」を起動し、
「ウィザード」を使って通信設定を行うのですが、それが出来ない状態です。


「通信設定ユーティリティー」は、単体のアプリケーションなので、Excel とは関係なく起動できます。
Windows 8.1の場合、アプリケーション一覧の「 MELSOFT カテゴリに「通信設定ユーティリティー」があります。
Windows 7 では、スタートメニューの「すべてのプログラム」の中にあると思います。


■その他、気になったこと...

・「通信中」の表示が欲しいよね。
 通信中は、タスクバーに↓のようにアイコンが表示されますが、分かりにくいです。また、通信エラーになっても表示は変わりません。
 
 設定により、自動で「ErrorLog」シートを表示させることも出来るようですが、個人的には通信中の表示が欲しいところです。
 2 秒クロック (Q,FX5UだとSM413) を 1 秒周期でモニタし、Worksheet_Change イベントで、どこかの色を変えれば、それっぽくなります。

・「手動転送ボタン」も欲しいよね。
 「ワンショット通信」は、対象データ(セル)を選択する必要があり、複数の範囲を一括で転送 ... は、できないようです。
 MX Component を使って、それ用のマクロを書くしかないようです。

・「自動接続開始設定」は最後に。
 自動接続開始に設定する場合、手動接続(「通信開始」/「通信終了」にてマクロを十分にテストし、最後に「自動接続開始」に設定したほうが良いです。

・マクロの編集は、通信を切断してから。
 Excel VBA はインタープリタなので、書いているコード(マクロ)がそのまま動いています。
 例えば、Worksheet_Change イベントを使っているときは、マクロ編集中でもセルの値が変われば、編集中の中途半端なコードが動いてしまいます。