こんにちは。
AppleScript、InDesign、JavaScript、VBscript、PHPなんかについて書いていきます。
そのうちHPにサンプルでもあげるかも。
|
AppleSccript。
Excel ver.Xでちょっとやりたいことがあって。 マクロでもいいんだけど、まー、AppleScriptのほうが馴染みがあるので。 ●やりたいこと 先方支給のExcelに文字修飾が施されていて(赤く色付けされている)、その箇所になにかしらのキーを埋め込んで、InDesignに取り込み後スタイルをあてて不要となったキーを削除する InDesign以降の処理はJavaScriptでできるので(AppleScriptでやればシームレスな気もするが今あるJavaScriptを流用したいので)Excelの部分をなんとかしないとなー。 AppleScriptいじるの一年ぶり以上だが、はてさて文法を思い出すところからスタートだな(^^; |
|
Mac OS 10.3.9でAppleScript その2「力技」。
その1で書いていた「ドロップしたフォルダの中のアイテムを数えてファイルに書き出す」AppleScriptがようやく出来た。 ファイルの読み書きやアイテムを数えるのは簡単だったけど、ドロップしたフォルダの名前を取得するのが一苦労。 シンプルにAppleScript's text item delimitersでコロンで区切ってリスト化しようと書いたのが下記。 set texdata to choose folder with prompt "保存先を指定してください" set texdata to texdata as string set OriginalDelimiters to AppleScript's text item delimiters set AppleScript's text item delimiters to {":"} set texdata to text items of texdata set c to count texdata set fname to item (c - 1) of texdata set AppleScript's text item delimiters to OriginalDelimiters これをドロップレットで、と試したんだけどうまく動かない…。 試しているうちに面倒になってRubyに処理をお任せすることに。 <AppleScriptでの記述> set fname to do shell script "ruby /Users/*****/Documents/ruby/フォルダ名取得用.rb" & space & thispath <Ruby> # AppleScriptから渡されたフルパスをinsuu1に格納 insuu1 = ARGV[0] ; #--第一引数 # :で分割してリスト化 bunkatsu = insuu1.split(/:/) # bunkatsuの最後の項目をAppleScriptに渡す print(bunkatsu[-1]) う〜ん、悩まずに実質3行で書き終わってしまった…。 まぁこれで「デスクトップにドロップしたフォルダと同名のフォルダを作る」スクリプトも書けそうだし、強引だけどいいことにしよう。 だからタイトル「力技」。 |
|
Mac OS 10.3.9でAppleScript その1。
めでたく?メインのマシンをG5にスイッチしたことに伴い、OS 9時代のAppleScriptを書き直していこうか、と。 しばらくは忙しいので来年からぼちぼちやりまする。 OS 9時代はTanaka's Osaxのお世話になりっぱなしのエセスクリプターだったので、OS XになりOSAXが使えなくなり、かなりショボーンだったり(鬱) 「ドロップしたフォルダの中のファイル数をカウントしてテキストに書き出す」なんてお手軽なものも、OS Xだとどう書けばいいやら。 ファイルの読み書きはできるんだけど、ドロップしたフォルダの名前を取得するのがすぐには思いつかないなぁ。 こんな感じですべてのスクリプトを書き換えるのはいつになったら終わるのか…。 ん? 別に書き換えなくても後輩に指示して使わせればいいのか? どうせQuarkXpress4.1絡みのAppleScriptなんて私は使わないしなぁ。 |
|
AppleScript。
先日のテキスト抜き出しのついでに画像も抜き出してほしいと要望が。 手でやるのも馬鹿らしいので、先日の仕事ですでに画像のファイル名を抜き出してあるので、それを再利用することにした。 まずエクセルでコピー元のファイルのフルパスを表記した列とコピー後のファイルのフルパスの列を作る。 なんでコピー後のファイルのフルパスが必要なのかというと、同じファイル名のファイルがコピー後のフォルダに存在したときにコピー処理をしないようにするため。 その2つの列をテキスト化してコピー処理を記述したAppleScriptで読み込む。 AppleScriptの内容は以下のような感じ。 ●テキストを読み込んでOSAXでパース処理してそれぞれの列を変数に代入 ●if文でファイルが存在するかどうかの論理式を書いて、その中にコピー処理の記述をする ●なんらかの形でエラーになった場合はエラーログとしてコピー元のファイルのフルパスをエラーフォルダの中に書き出す なんだか拍子抜けするぐらいあっさり書けた。 まぁ先日上司が作ったAppleScriptを解読して手を加えているだけだからなんだけど。 |
|
お仕事とAppleScriptの話。
いまとあるデータブックからのテキスト抜き出しを行っている。 もちろん手でやるのは面倒だし、リスクが高いので、以前作ったAppleScriptを使っている。 本当はコマの部分だけのテキストがほしいのだが、スタイルシートの適用がまちまちなので、結局総当りで抜き出して、オペレーターが原本を見ながら整形する羽目に。 フォーマットを作った人やオペレーションをする人がきちんとスタイルシートを使っていてくれれば、ねぇ(^^; フォントやQ数で条件分岐してもいいんだけど、よその会社で作ったデータなので、信用できないんだよなぁ。 うっかり間違えてある一行だけ延々抜き出せてなかったりすると、頭からやり直す羽目になってしまうし。 仕事を取ってきた上司Iは「お前ならどうにかして形にするから」と言っていたが、なかなか難しいよね。 まぁ全部AppleScriptでやろうなんて毛頭思っていないから(私にAppleScriptを教えた上司Kは全部AppleScriptでやらないと気がすまない人)、誰か適当な後輩つかまえて、地道にがんばってテキスト整形してもらいましょう♪ 私がやらないのかって? 私はそんな不毛な作業はしたくない(笑) |
|
| ホーム |
|


