2

列を作成するこの方法を使用しています:
http://orgmode.org/worg/org-tutorials/org-spreadsheet-lisp-formulas.html

9 列のスプレッドシートがあり、列 8 には次のようなドル記号を含むファイル名が含まれています。
product_name $500.00.jpg

したがって、列 9 にファイルが実際に存在するかどうかを示す必要があるため、組織の TBLFM は次のようになります。
#+TBLFM: $9='(file-exists-p (concat "/import/" $8))

したがって、問題は、TBLFM の最後にフラグを使用するかどうかに関係なく;L、500 番の列がないため、数式を適用するとすぐに「無効なフィールド指定子: "$500"」が表示されることです。

どうすればこれを機能させることができるかについて何か考えはありますか? リテラルフラグの有無にかかわらず、引用符ではなく引用符で$ 8を試しましたが、実際の列でドル記号をエスケープしようとしましたが、すべてうまくいきませんでした。

編集:列の値を次のように変更すると product_name $\ 500.00.jpg 、実際には機能しますが、file-exists-p返される値は明らかに正しくないことに注意することが重要です。

編集:エラーをトリガーする組織モードテーブルの例:

| foo | bar | /some/file with $500 in it.jpg |   | baz |
|     |     |                                |   |     |
#+TBLFM: $4='(or (file-exists-p $3) "f")
4

2 に答える 2

0

$8 をドル文字でエスケープしてみてください。つまり、$$8 です。

于 2013-06-23T18:10:41.500 に答える