お世話になります。
表題の件、添付の画像のように、データ入力ツールで相対パスで設定していて、分析アプリとして実行する場合、ファイル参照ツールから絶対パスで指定しても、下記のエラーが表示されてしまいます。データ入力ツールを絶対パスで設定するとうまくいくのすが、ファイル参照ツールとデータ入力ツールをつなげて分析アプリで実行する場合は、相対パスにはしない方がよいのでしょうか。ご教示いただけますと幸いです。
DbFileInput (102): `FY2021$A:I` does not match a sheet or named range in ~パスは削除しました~ .xlsx or the Excel file is corrupt.
@Pochacco さん
インターフェースのファイル参照ツールが返してくるファイルパスは基本的にフルパスとなります。
アクションツールでデータ入力ツールを書き換える時に、適切に書き換えができているかどうかがポイントとなります。
例えば、ファイル名部分のみ書き換えるのであれば、ファイル参照ツールからの入力もファイル名のみにするなど・・・。
フルパスの場合は、データ入力ツールのファイルパスをまるっと書き換えればいいので、設定上の工夫はほぼ必要ありません。
また、ファイル参照ツールの初期パスなど明示的に指定できないので、フルパスでやったほうが楽な気はします・・・。
ご回答ありがとうございます。
作業パスの全く異なる相手にWFを渡して使ってもらっているのですが、ファイル参照ツールでフルパス設定をしても、アクションツールで適切に書き換えができていないようです。。
Excelファイルを指定する設定なのですが、エラー内容を確認すると、Excelファイルのタブ名の書き換えができていないようで、インプットファイルに指定しているExcelファイルのタブ名を、WFで相対パス設定ししているタブ名に合わせて直接書き換えたら処理が回りました。
元のWFのデータ入力ツールの設定を相対パスではなくフルパスにしておけば、いったん回避できそう?なので、様子を見てみます。
@Pochacco さん
Excelの場合は、シート名をつけて書き換えてあげる必要があります。
例えば、c:\test\test.xlsxでシートがsheet1の場合、
c:\test\test.xlsx|||sheet1
といった形になります。
ちょっとサンプル作ってみました。
アクションツール側がポイントです。
"./input/"+FileGetFileName([#1])+FileGetExt([#1])
ご確認ください
@Pochacco さん
今回、無理に合わせていってる感じではあるのですが、ファイル参照ツールはフルパス取れるので、データ入力ツール側はまるっと書き換えたほうが早い気はします。
(もっとも、指定したフォルダ以外のファイルは読めないので、そういう制限をかけたいのであれば今回のような手段は有効な手段かとは思います)
データ入力ツール側を相対パスにしなければならない理由が何なのか?というところがポイントかと思います。
inputフォルダに制限する必要はなく、データ入力ツール側を相対パスにする必要もないので、アクションツールで下記の設定をしておけばエラーとならない、という理解でよろしいでしょうか。
FileGetFileName([#1])+FileGetExt([#1])
それとも、そもそも、データ入力ツール側をフルパスで設定しておけば、アクションツールは何も設定しなくてもよいのでしょうか。
お手数をおかけします。ご教示いただけますと幸いです。
@Pochacco さん
分析アプリで使う場合、データ入力ツールに設定されているファイルは、単にテストデータの扱いになるかと思います。
その場合、アクションツールでまるっと書き換えてしまうのであれば、データ入力ツール側はどんなパスであっても特に問題ありません。
ですので、アクションツールの設定を何にするかが重要なポイントとなります。
この場合、アクションツールの設定は「データ入力ツールを更新」にしてしまえば、まるっとデータ入力ツールのパスが書き換わるようになります。
※ファイル参照ツールの、「例」をご確認ください
アクションツールの設定を「値の更新」にしているたところからエラーが出たり出なかったりしていましたが、「データ入力ツールを更新」に変更してからエラーが出なくなりました。大変助かりました。ありがとうございました。
@Pochacco さん
取り急ぎ解決したようでなによりです。
「値の更新」は、データ入力ツール側の設定が変わるとアクションツール側も書き換えないといけないことが多いので、利用自体は手軽ですが、気をつけないと色々とミスが起こるのでご注意ください。