- ベストアンサー
AppleScriptで
AppleScriptで テキスト値ないの文字数をカウントするにはどうすればいいのでしょうか。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
length ofですか? こんな感じ: % cat a.osa put "This is applescript" into str do shell script "echo 'length of [" & str & "] is '" & length of str % osascript a.osa length of [This is applescript] is 19 ――PantherのTerminalで試してます。
その他の回答 (6)
- syasushi
- ベストアンサー率27% (226/837)
計算とは数値演算(+,-,*,/)が成立しているという事でしょうか? この場合は「整数では無い」可能性?(しかし「"1"」が変換できないとなるのはおかしい。) 計算結果にもう一度「1をかけてみる」ことで、数値である事を認識させる。というのをHyperTalkでは、たまに使いますが。 もちろん、バグである可能性も考えられます。
お礼
すみません、本当は1出はなかったのですが、小数点を見落としていました。どうもお騒がせ致しました。
- biginer
- ベストアンサー率24% (382/1537)
補足です。 OS9で、あるアプリのAppleScript対応について知りたければ、そのアプリ本体のアイコンを「スクリプト編集プログラム」に放り込めば(ドラッグ&ドロップすれば)用語説明が表示されます。 つまりAppleScriptを使用して、そのアプリをどう操作出来るか分かります。 旧MacOSのSimpleTextで試したところ「スクリプティングに対応していません」とダイアログが出ました。SimpleTextはAppleScriptに対応していなかったのです。 urineさんの御使用のアプリの用語説明を見て下さい。 選択範囲も、文字数を得ることもサポートしてないかも知れませんよ。
お礼
AppleScript Studioまでほとんどのことは理解しているので、その辺の極々初歩的なことはもちろん大丈夫です。ありがとうございます。
- biginer
- ベストアンサー率24% (382/1537)
tell document 1 of application "KEdit" set WordsNum to selection length end tell tell me to activate display dialog WordsNum OSXのテキストエディットでは出来ないようです。 旧MacOSのSimpleTextでは試していません。 KEditで試してください。 KEditのDL先 http://www.drycarbon.com/be/beware/kedit/ KEdit for MacOS Xは、こちらです。 http://www.drycarbon.com/macosx/kedit/
- syasushi
- ベストアンサー率27% (226/837)
>「"1"をintegerに型変換できません。」と表示されるのですが、なぜでしょう。 半角スペースが入ってるとか? スクリプト全体を教えていただければ、原因がわかるかもしれません。
お礼
有り難うございます。本当は1ではなかったのですが、小数点を見落としていました。どうもお騒がせしました。暗号化プログラムを作っていたので、スクリプトを公開できませんでした。
補足
先にも述べたように計算して出た結果ですから半角数字以外入っていないのですが、「スクリプトを見ないと分からない」といわれる覚悟で書きました。しかし、スクリプト全体はとても長くて書き込めないし、とにかく原因不明なのでどこから書けばよいやら・・・
- syasushi
- ベストアンサー率27% (226/837)
テキストであればlength of~で数えられますよ。 他にもcount・・・・・・やnumber of~でも可能です。 countやnumber of~は色々な物を数えられます。リストやレコード、フォルダやファイルの数も数えられます。・・・・・・・・・・・・(files,foldersのように[s]を忘れないように。)
補足
「"1"をintegerに型変換できません。」と表示されるのですが、なぜでしょう。半角整数意外含まれていないのに原因不明です。なにか例はありませんか。
- osamuy
- ベストアンサー率42% (1231/2878)
えーと、「length of」って、Classicだと使えないんでしたっけ? HyperCardの頃からあったと思ってましたが。 do shell script/osascriptを使っているのは、本質じゃないです。単に、面倒だっただけで。
補足
確かにUNIXコマンドでできるのですが、ClassicのAppleScriptではサポートされていないのでちょっと問題です。