【LabVIEW】パスワード付きZIPファイル作成アドオン 

LabVIEWでZIPファイル作成を行う場合、標準で用意されているZIPファイルの関数ではパスワード付きのZIPファイルを作成することが出来ません。

Windows自体にもパスワード付きのZIPファイルを作成する機能が標準で備わっていないため、LabVIEWからWindowsのAPIを使ってパスワード付きのZIPファイルを作成するという手段も使うことも出来ません。

外部のソフトを使用せずにLabVIEW内でパスワード付きのZIPファイルを作成する方法を探したところ、LabVIEWアドオンにてファイルを暗号化してパスワード付きのZIPを作成するための関数が配布されているのを発見しましたので、紹介をしたいと思います。

本記事について
  • LabVIEWでZIPにパスワードを付ける場合は『OpenG LabVIEW ZIP Library by OpenG – Toolkit』を使用すれば可能
  • Toolkitを使用して、複数のファイルをパスワード付きのZIPファイルにまとめる場合の作成方法について解説しています。

アドオンをインストールするためのVIPMについて

VIPMについて

LabVIEWのアドオンをインストールするにはVI Package Manager(VIPM)が必要となります。

もし、インストールされていない場合は下記の場所よりダウンロードしてインストールをしてください。(普通はLabVIEWと一緒にインストールされているはずです。)

https://www.ni.com/ja-jp/support/downloads/tools-network/download.jki-vi-package-manager.html#443251

VIPM起動時に使用するバージョンを聞かれるので、FreeEditionを選択してください。

VIPMについての説明

https://zone.ni.com/reference/ja-XX/help/371361R-0112/lvhelp/vipm/

LabVIEWアドオンの検索方法について

LabVIEWのアドオンを検索する方法としてNI社としてはLabVIEWのスタートアップ画面⇒「ツール」⇒「LabVIEWアドオンを検索」の手順が紹介されています。

もしくはブロックダイアグラムの関数パレットにある「アドオン」の項目内にある「LabVIEWアドオンを検索」でも同じになります。

上記の方法で検索を行う場合、NI社の「NIツールネットワーク」というページに飛びますので、NIツールネットワークから検索をすることも出来ます。

https://www.ni.com/ja-jp/support/downloads/tools-network.html#

アドオンの名前が分かっているのであれば、VIPMのページで検索した方が、アドオンの詳細まで記載されているので、オススメです。

https://www.vipm.io/

個人的に検索方法としてオススメなのはVIPMのソフトを直接起動して、アドオンの検索とインストールをすることです。

最終的にはVIPMを起動するので説明不要であれば、特に問題ありません。

Windowsの場合、『すべてのプログラム』⇒『JKI』⇒ 『VIPM』からVIPMが起動します。

VIPMでアドオン(OpenG LabVIEW ZIP Library)をインストールする

今回はVIPMのソフトを直接起動して、アドオンをインストールする手順について解説を行います。

①アドオンをインストールしたいLabVIEWのバージョンを選択します。
 複数のバージョンがある場合、それぞれのインストールになります。

②目的のアドオン名を入れることで検索することが出来ます。ウィンドウ下にVIPMで提供されているアドオンが羅列されていますが、検索せずに探すのは時間がかかります。

③検索後にインストールを行いたいアドオンが表示されます。

④アドオンを選択します。今回は『OpenG LabVIEW ZIP』を検索したので選択します。

⑤選択したアドオンの詳細を確認したい場合はアドオンの説明ページで確認することが出来ます。

⑥Installボタンをクリックするとアドオンのインストールが始まります。

⑦OpenG LabVIEW ZIPのライブラリを実行するのに他のアドンが必要な場合、一緒にインストールされます。

⑧Continueボタンをクリックします。

⑨VIPMとは別に、アドオンをダウンロードするにあたって、ライセンス条項に同意するがあることを確認されます。(ライセンス条項への同意は別途あります。

このウィンドウを二度と表示させたくない場合は一番右端の『I Agree』ボタンをクリックしてください。

⑩アドオンのインストール進捗状況を右下のプログレスバーで確認することが出来ます。

⑪インストールを中止したい場合は、検索窓の下に『×ボタン』が出ているのでボタンを押すと止まります。

⑫インストールをして暫くすると各アドオンごとのライセンスが表示されます。ライセンスの内容が特に問題なければ『Yes,I accept…』をクリックしてください。

まとめてライセンスに同意したことになります。

⑬問題なくアドオンをインストール出来れば、各アドオンのStatus VIに『No Errors』と表示されます。最後に『Finish』ボタンをクリックしてインストールを終了します。

OpenG LabVIEW ZIP Libraryの使用方法

OpenG LabVIEW ZIP Libraryの位置

VIPMにてOpenG LabVIEW ZIP Libraryをインストールしましたが使用するにはブロックダイアグラムから関数パレットを表示します。

関数パレットの下に『OpenG』と記載された項目が追加されています。

OpenGの項目内を確認すると、『OpenG ZIP Tools』と記載されたフォルダがあります。

これが先ほどインストールしたOpenG LabVIEW ZIP Libraryになります。

その他の項目はOpenG LabVIEW ZIP Libraryを使用するのに必要なその他のOpenG関数になります。

OpenG ZIP Toolsでパス付きのZIPファイルを作成

OpenG ZIP Toolsに標準で用意されている圧縮ファイル用の関数は2つあります。

⑭ルートディレクトリのファイルを圧縮する。サブディレクトリのファイルを圧縮するかは任意で設定が可能

  1. 『root directory』へ圧縮したいフォルダパスを設定します。(設定していない場合はダイアログが自動で表示されます。

    ※ZLIB Compress Directory__ogtkから右クリックで制御器を作成した場合、フォルダパスではなくファイルパスの設定になっているので参照オプションからフォルダを選択するように変更してください。
  2. 既にあるZIPファイルへファイルを追加したい場合は『archive name』にZIPファイルのパスを入力します。
  3. ルートディレクトリ内にあるサブディレクトリまでを圧縮したい場合は『include subdirectories』をTrueに変更します。
  4. ZIPファイルを新たに作成したい場合は特に指定をする必要はありません。既にあるZIPファイルへファイル追加を行いたい場合は『Create new』を『append to archinve』に変更してください。
  5. 『root directory out』にはroot directoryで設定したフォルダパスが出力されます。『archive name out』には作成したZIPファイルのパスが表示されます。
  6. 『password』にパスワードを入力すると圧縮される全てのファイルへ同一のパスワードがかけられます。空欄の場合はパス無しのZIPファイルが作成されます。

※Windowsで展開(解凍)をすることが出来るZIPファイルなので暗号化方式はたぶんStandard ZIP 2.0が採用されていそうです。

⑮指定をしたファイルパスのファイルを圧縮します。

  1. ZIPの『archive name』を入力します。もし空欄の場合は実行時にダイアログが自動で表示されます。
  2. ファイルパスを選択します。今回は再起ファイルリスト(Recursive File List.vi)を使用して複数のファイルパスを指定しています。
  3. 圧縮するファイルごとの名前を変更したい場合は『internal names』にファイル名+拡張子を入力するとファイル名を変更することが出来ます。
  4. ZIPファイルを新たに作成したい場合は特に指定をする必要はありません。既にあるZIPファイルへファイル追加を行いたい場合は『Create new』を『append to archinve』に変更してください。
  5. 『password』にパスワードを入力すると圧縮される全てのファイルへ同一のパスワードがかけられます。空欄の場合はパス無しのZIPファイルが作成されます。
  6. 『archive name out』に保存されたZIPファイルのパスが表示されます。

使い勝手の悪い点としては⑭の『ZLIB Compress Directory__ogtk』でサブディレクトリのファイルも圧縮した際に、元のディレクトリ階層を維持せずにルートディレクトリと同じ場所にサブディレクトリのファイルが圧縮されます。

ディレクトリ階層を維持する場合は何か工夫がいるのかもしれません。

自作のZIPファイル作成のプログラムを組む場合

独自にパスワード付きのZIPファイルを作成する関数を作成したいのであればOpenG ZIP Tools内にある『Advanced Compression』を選択するとZIPファイルを作成するための関数を呼び出すことが出来ます。

『ZLIB Open Zip』⇒『ZLIB Store』⇒『ZLIB Close Zip Archive』の順で繋げればZIPファイルを作成することが出来ます。

下図は簡易的に組んでいますが、ZLIB Compress Directory__ogtkやZLIB Compress Files__ogtkの中でも同じ様な構成で組んでいます。

以上で簡単にですが、LabVIEWでパスワード付きのZIPファイルを作成することが出来るようになります。