06-09-2017 02:05 AM
Labviewからエクセルにデータを書き込みたいのですが、その際に別のエクセルシートが立ち上がっており、書式設定ウィンドウが開いていたり、セルを選択した状態で書き込み行ってしまうとエラーになってしまいますが、それを回避するにはどうすればいいのでしょうか。
よろしくお願いします。
解決済! 解決策の投稿を見る。
06-14-2017 07:05 PM - 編集済み 06-14-2017 07:08 PM
こんにちは
問題が発生するVIを見せたほうが話の進みは速くなると思いますが、
1.エラーになっているのは「エラーメッセージが出る」ということですか?
2.別のエクセルシートが立ち上がるのは「実際のエクセルが立ち上がる」ということですか?
それとも「別のアクセルシートにデータが書き込まれる」ということですか?
3.セルを選択した状態で書き込みを行うのは「全てのデータが一つのセルに書き込まれる」ということですか?
4.どのデータタイプを書き込んでいますか?
など、問題の状況を把握できる説明などを頂けますでしょうか。
そしてLabVIEWにはExcelに関するいろんなサンプルが既にあるのでそちらをご参考頂けるといいかも知れませんね。
サンプルはLabVIEWのメニューバーから「ヘルプ」→「サンプルを検索」から探せます。
役に立ちそうな過去投稿もあったのでURL貼っておきますねー
[ディスカッションフォーラム]エクセルへの書き込み
06-14-2017 07:58 PM
ご返信頂きありがとうございます。
ご指摘の通り説明不足ですね、失礼いたしました。
>1.エラーになっているのは「エラーメッセージが出る」ということですか?
Labviewのプログラムとしてエラーが出るのではなくて、プログラムからエクセルにアクセスをしに行くが、
起動中のエクセルシート内で書式設定などの別ウィンドウを開けていると(下記添付)、Labviewからのアクセスが拒否されてエラーが返ってくる状態です。
ですので、Labviewからの指示でそれらの状態(エクセルの編集状態)を回避したいのですが、どのようにエクセルを編集可能な状態にする方法をご存知ないでしょうか。
(エクセルをクローズではなくあくまで編集可能な状態に戻したいです。)
>2.別のエクセルシートが立ち上がるのは「実際のエクセルが立ち上がる」ということですか?
そうです、別に編集中で有ったり、閲覧中の物が有る状態で、新規のエクセルや指定したシートを立ち上げるということです。
>3.セルを選択した状態で書き込みを行うのは「全てのデータが一つのセルに書き込まれる」ということですか?
セルを選択した状態というのは、既に立ち上がっているエクセルシート(編集したいエクセルではない物)ないで、ダブルクリックなどでセルを選択していると、
1番の症状と同じ状態になるので、それを回避したいということです。
>4.どのデータタイプを書き込んでいますか?
データタイプは文字列や数値など様々ですが、アクセスを拒否されたとき以外は問題なく書き込めています。
サンプルありがとうございます、ここで質問させて頂く前に確認させて頂いたのですが、
問題の解決には至れずでした、特にエクセルの状態を判別するサンプルプログラムは参考になったのですが、
残念なことにエクセル2010では想定通りの動作をしたのですが、2013では動作しなかったです。
よろしくお願い致します
06-14-2017 09:35 PM - 編集済み 06-14-2017 09:43 PM
ご回答ありがとうございます。
私も先ほどの投稿では勘違いしていたところもあってすみませんでした。
ご説明頂いた通り、私の環境でも再現をしてみました。
環境としてはLabVIEW2016、MS Office2016です。
1.LabVIEWサンプル「Excelファイルの書き込み」を用いてExcelファイルにデータを書き込む
2.上記のVIを実行する際に別に保存されてあるExcelファイルを開き、
2-1.セルの書式設定のウィンドウを開いたままVIを実行
2-2.セルをダブルクリックして入力可能状態でVIを実行
結果としては両方とも書き込み先のExcelファイルには正常に書き込めました。
因みに「LabVIEWからのアクセスが拒否されてエラーが返ってくる」というのはエラーのポップアップのことでしょうか?
TMSULさんの環境では二つのExcelファイルの間で何かしら競合状態が発生しているかも知れませんね
06-18-2017 07:22 PM
返信頂きありがとうございます。
色々と試してみて気が付いたのですが、私が使用しているLabviewにはオプションのexcelやwordに簡単にアクセス出来るオプションが適用されていて、それを使用してexcelに書き込んでいるのですが、これを使用するとこれらのエラーが出るようです。
それらを使用しなければ書き込めるようなのですが、これを使用せずexcelに対して色々な操作を行う能力がないので、ほかの手法でこのエラーを回避できる方法を探してみます。
色々とご助言いただきありがとうございました。