2012年6月30日土曜日

EXCEL で MSComm が使えない

久しぶりに使うことになった計測器とシリアル通信による制御、データ読み込みを実行するEXCELファイルで、マクロ(EXCEL2003 VBA)を実行すると、「変数が定義されていません」と出てしまう。。MSCommアイコンがフォームから。
  • MSCommを呼び出す部分で、停止してしまう
  • MSCommの電話機のアイコンがフォームからもツールボックスからも消えている

  • 対策

    1. HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility\{648A5600-2C6E-101B-82B6-000000000014}のCompatibility Flagsの値を400hから 0に変更する
    2. フォームにアイコンが貼り付けられたが、「サブジェクトは指定された動作に対して信頼されていません」とでる
    3. Visual Basic.NET Frameの本体はインストールされていないケースである
    4. レジストリ エディタからファイルメニュー、CD-ROM1 の \Extras\VB6 Controls フォルダを参照し、VB6Controls.reg  をインポートしライセンスを再読込し使えるようになった
    Windows 更新プログラムの適用で元に戻ってしまう。
    • 更新プログラムの適用後、REGEDIT で 400 を 0 にして使えるようになる
    • 更新プログラム、KB2695962, KB2618451 が適用されインストールを求められる

    2012.06.30 本文を修正
    案の定、二ヶ月くらいの間、同じことを繰り返さないとならなかった。ライセンスの再設定が必要なケースはこれまで無い。