EXCELのバージョンによる対応(HPGLファイルの表示対応)

 実験等を行ってきましたパソコンのOSとofficeのバージョンは、それぞれ
OS:windows7
office:XP(2002)
でした。
 オシロのHPGLの波形データを表示するのに今まではHPGLフィルタ(Hpgl32.exe)をインストールすることにより、うまくいっていました。
 ところが、office2007(excel 2007)以降、画像の表示形式が変わったようで、今まで通り、HPGLフィルタをインストールしても表示できなくなりました。
MicrosoftのFAQやネットなどをしらべても対応方法がありませんでした。
サードパーティやフリーでHPGLが変換できるものがあるのですが、使い勝手がよくありません。
 なぜなら、私の実験時のデータ取得スタイルは、excelを立ち上げて、そこに波形を取込み、波形の横のセルに測定条件などを細かく書いていくからです。
 理想的な対策は、excelのVBA上でHPGLの変換マクロをつくることですが、これも結構大変な作業になります。いろいろと調査・検討した結果、hp2xx.exeというフリー(GNU)の変換ソフトがあることがわかりました。このソフトはコマンドプロンプト上で動作するため、excelからは、スクリプトで実行します。

コマンド例としては、以下のようになります。
(*これは、一例であり、オプションが多数あります。)
hp2xx.exe –m emf -q -f temp2.emf -c 12374 temp1.tmp

○オプションの説明
 -m  変換後のファイル形式 emfとしています。
 -q  応答を表示しない。
 -f  変換後のファイル名 temp2.emfとしました。
 -c  カラーの設定12374は 1:black 2:red 3:green7:yellow 4:blue です。
設定なしでも問題ないのですが、従来の表示色にあわせました。
最後のtemp1.tmpは、元ファイルです。
(*hp2xx.exeの最新版(3.4.4)ではうまく動作しませんでした。旧バージョン(3.4.1)を使用してください。また、excelのプログラムと同じフォルダに置いてください。)

 hp2xx.exeを使うことにより、excel2007以降では表示できなかったHPGLファイルがなんとか表示できるようになりました。
 ところが、ここまできて新たな問題が発生しました。
officeのバージョンをアップしexcel2010で試してみますと、HPGLの波形は画像としては表示できるのですが、貼り付けの状態が、今までのexcel2007とは異なり、リンク貼り付けとなり、フォルダ上の画像ファイルを削除してしまうとexcel上の画像も消えてしまいます。この件については、マイクロソフトも製品の問題として認識しているようで、以下のような回避策を挙げています。

マイクロソフトの回避策
“図をリンク オブジェクトではなく図として挿入するには、Pictures.Insert メソッドではなく、Shapes.Add メソッドを使用してください。”

回避策通りにPictures.Insert をShapes.Addに変更することによりexcel2010でも問題なく表示できるようになりました。


戻る