NI製品ディスカッション

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 
返信

取得したデータの既存のExcelへの書き込み

解決済み
解決策を見る

取得したデータの既存のExcelへの書き込み

Labviewで取得したデータを、あらかじめVBAでマクロを組んであるExcelに出力したいのですが、やり方がわかりません。

 

詳しく説明すると、

「Labviewで自動測定し測定データを取得」→「デスクトップ上のあらかじめマクロを組んであるExcelシートにデータを出力」

といった流れです。

 

Labviewの知識が浅く、説明不足かと思いますが、よろしくお願い致します。

 

0 件の賞賛
メッセージ1/10
508件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

Webを検索すると以下の資料が見つかりましたが、お役に立てそうでしょうか?

How Do I Write an Array to Excel Using the Report Generation Toolkit?

 

投稿の際に、どういった資料をすでに見られているか併せて教えていただけると、

提案が被らないので、解決までのスピードが早くなると思います。

Pignite
Certified LabVIEW Developer
メッセージ2/10
467件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

packer_a様 

(Excelシートに書き込むだけ?)
方法としては下記2種類でしょうか?

 

①LabVIEW Report Generation Toolkit、Microsoft Office用を使用する
 プロフェッショナル開発システムは標準ですが、ベースパッケージ・開発システムだとオプションです。

②上記が無ければ、ActiveXでExcelを操作し、保存する。

 

LabVIEWラインナップの比較
http://www.ni.com/labview/buy/ja/

 

LabVIEW Report Generation Toolkit、Microsoft Office用
http://sine.ni.com/nips/cds/view/p/lang/ja/nid/209050

メッセージ3/10
457件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

Pignite様

 

ご返信ありがとうございます。

当方はReport Generation Toolkitのライセンスを持っていないため、使用できない状態であることを説明しておらず、申し訳ございません。

 

自分がWebで見つけたのは「Run Excel from Labview」ですが、既にページが削除されており、見ることができませんでした。

ActiveXなるものを使用した方法も調べましたが、自分の知識が乏しく理解に至りませんでした。

 

ActiveXはReport Generation Toolkitのように特別なライセンスが必要なのか、Labviewで使用できる状態への設定など、わかっていない状況です。

0 件の賞賛
メッセージ4/10
453件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

su-sann5073様

ご返信ありがとうございます。

 

方法としては、「②ActiveXでExcelを操作し、保存する。」を検討しております。

 

しかし、ActiveXへの知識が乏しく、どのような設定をし、プログラムを作成すれば、出来るようになるのかわからない状態です。

 

このような状態で大変申し訳ございませんが、お教えいただけたらと思います。

お手数おかしますが、よろしくお願い致します。

0 件の賞賛
メッセージ5/10
449件の閲覧回数
解決策
トピック作成者packer_aが受理
04-12-2017 10:27 PM

Re: 取得したデータの既存のExcelへの書き込み

packer_a様

 

>しかし、ActiveXへの知識が乏しく、

 

簡単に言うと、あるソフトウエアを別のソフトウエアから動かす仕組みです。
動かすソフトウエアが対応している必要があります。(ExcelはOK)
動かし方は動かすソフトウエアの仕様(オブジェクトの構造・機能(メソッド・プロパティ))に依存します。

他のプログラミング言語でもExcelファイル作成したり(個人的な意見としては昔はでしょうか?)、
自動でExcelの細かい動作をさせたりする時に使うと思います。

VBAのプログラミング経験ありでしょうか?(←ここ重要です)
ExcelのApplicationオブジェクト・Workbooksコレクション・Worksheetオブジェクト・Rangeコレクション
ぐらいの知識は必要かと考えます。 なければ勉強が必要です。


>このような状態で大変申し訳ございませんが、お教えいただけたらと思います。

何はともあれ、LabVIEWのサンプルを実行して体感して(サブVIの処理含め)理解するのが良いと思います。
LabVIEWインストールフォルダ\examples\commフォルダ内にあるExcelExamples.llbのExcel Macro Example.viを動かすと同フォルダproject.xlsのとあるセルに書き込んでファイルを開きます。
(LabVIEW2010の場合)

Excel Macro Example.viで使用しているサブVIはExcelExamples.llbに含まれてます。

packer_a様のやられたいことは、ExcelExamples.llb内のサブVIで良いかもしれませんね。

 

LabVIEWでのActiveXの使用法のサンプルが見つからなかったのですが、何を参考にすればよいのでしょうか?
http://digital.ni.com/public.nsf/allkb/A3A13C4C389C2EC786256F4C00267D0E

 

メッセージ6/10
441件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

su-sann5073様

 

ご返信ありがとうございます。

 

VBAはセルのデータを読み、別のセルやシートに書くなどの初歩的なプログラムなら経験があります(知識があるとはとても言えませんが)。

 

サンプルを拝見いたしましたが、VBAのようなプログラムをLabview上でも出来るのですね。マクロを起動するという命令がLabviewからできればありがたいですが。。。

 

VBAの勉強とサンプルを参考にし、VIを組んでみようと思います。

たいへん参考になりました。ありがとうございました。

0 件の賞賛
メッセージ7/10
435件の閲覧回数
Highlighted

Re: 取得したデータの既存のExcelへの書き込み

packer_a 様 (前レス誤字が多くて失敬)

 

VBA経験有なら何とかなると思いますよ。

 

Excel Macro Example.vi/project.xlsを見ると
グラフはVBA側で処理してます(project.xls!GraphData)

applicationオブジェクトのrunメソッドでVBAモジュールが実行できるようです。

メッセージ8/10
414件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

直接の手助けにはなりませんが、ActiveX系のサンプルも作っていますので、良ければ参考にしてください。

 

Visual BasicからLabVIEW VI/EXEを呼び出す - NI Community 

オートメーションオープン関数の簡易サンプル - NI Community 

メッセージ9/10
398件の閲覧回数

Re: 取得したデータの既存のExcelへの書き込み

su-sann5073様

Ytochigi様

 

ご返信が遅れまして申し訳ございません。

ご回答ありがとうございます。

 

まずはサンプリングプログラムの理解から始めようと思います。

ご協力ありがとうございます。

                      

0 件の賞賛
メッセージ10/10
367件の閲覧回数