この記事で扱っていること
- ハイパーリンクを集めたExcelファイルを生成する方法
を紹介しています。
注意:すべてのエラーを確認しているわけではないので、記事の内容を実装する際には自己責任でお願いします。また、エラー配線は適当な部分があるので適宜修正してください。
多くのファイルがあるとき、それらファイルを区別するためにメモを残してさらにハイパーリンクもつけて簡単にそのファイルを調べられるような機能をつけた方が便利だと思いLabVIEWで作ってみました。
LabVIEWのReport Generation Toolkitを使用すればExcelファイルを操作できるので、ハイパーリンクと各リンクに紐づいたファイルの説明を記述できるようなプログラムとして、実行するとこれらの情報がまとまったExcelファイルが生成されるというものです。
どんな結果になるか
フロントパネルでは各ハイパーリンクを付ける項目に必要な情報をクラスタとしてまとめており、これらを複数個使用するということで配列にしています。
クラスタの要素は、ハイパーリンク先のファイルパス、そのハイパーリンクの名前をファイルと同じ名前にするかどうかのブール、同じにしない場合のハイパーリンクの名前、そしてそのハイパーリンクの説明を記述する文字列制御器の4つで構成されています。
プログラムを実行してこれらの情報を記述し、これらのデータを保存するExcelファイルのファイル名を指定したらOKボタンを押すと、このVIが保存されているのと同じ階層にExcelファイルが生成されます。
上の図右側に表示しているExcelファイルのA列がハイパーリンクになっていて、ここをクリックすると指定のファイルを開くことができるようになっています。
プログラムの構造
プログラムとしてはそこまで複雑ではなく、Report Generation Toolkitにある、ハイパーリンクを生成する関数とテキストを挿入する関数をForループの中で使用しExcelファイルを構成するだけという作りです。
Forループに入る前に、必要な情報を記述してユーザーがOKボタンを押すまでイベント待機している状態としています。またこのイベントには配列を初期化するためのボタンや、プログラム自体をキャンセルするためのキャンセルボタンの値停止イベントも含んでいます。
ハイパーリンクを挿入する、ハイパーテキストリンクアンカーをレポートに追加関数は特に難しいことはなく、リンク先のファイルパスと、ハイパーリンク名を指定するだけです。リンク先のパスの指定には、「file:///<file path>」という指定を行うため、file:///という文字列と、クラスタから抽出したファイルパスを文字列に変換したものを文字列連結しています。
リンク文字列をファイル名と一緒にする場合にはパスをファイルパスの値からパスをストリップの関数を使用することでファイル名を取得し、これを選択関数のTRUE入力にいれました。
また、補足するテキストはテキストをレポートに追加関数で入力しています。
Wordで行う場合
Report Generation ToolkitはExcelだけではなくWordにも対応しているので今回のような機能を持つWordの生成もできます。しかし、Wordだとハイパーリンクとその説明の部分を区切る際のセルがないため、行で分けて対応することにしました。
そのためExcelの方が見栄え的にもわかりやすいファイルが作れると思います。
ファイル管理に困った場合の選択肢の一つとして役に立てば嬉しいです。
ここまで読んでいただきありがとうございました。
コメント