Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

カテゴリー: PRODUCTS

Early access program : ebook “Switch Control with AppleScript”

Posted on 5月 4, 2020 by Takaaki Naganoya


This is an early access program. This ebook is in progress, not finished. The early access reader can read it with agreement. The early access readers can make request to author during works (every request will be discussed, without 100% guarantee to be realized). 65 pages (today). Price: JPY 3,000.

This ebook “Switch Control with AppleScript” is a book about Switch Control. It is one of accessibility function for people with disabiulities. But it is very useful for every macOS users specially for the scripters.

Switch Control can launch AppleScript or run keyboard shortcut sequence. We can make button-based simple GUI for AppleScript. It is the easiest environent to make GUI.

This book will contain author’s sample Switch Control. It is useful and gives you a power of automation for macOS users.

Posted in PRODUCTS | Tagged 10.13savvy 10.14savvy 10.15savvy Switch Control | Leave a comment

Kamenoko、Mac App Storeで販売開始

Posted on 5月 3, 2020 by Takaaki Naganoya

Mac App Storeでリジェクトをくらうこと3回。ようやくKamenokoがMac App Storeで販売開始になりました。本アプリケーションは、Piyomaru SoftwareがAppleScriptで開発し、Mac App Storeで販売したアプリケーションの2作品目になります。

# Mac App Storeからちゃんと買えることを確認しました。こういうの、1つ1つ確認しないと怖いです

1つやらかしたのは、検索キーワードにアプリケーション名を入れておかなかったので、アプリケーション名で検索できないという「お可愛らしい」ミス。

些細な機能のアップデートをリリースしてキーワードを追加しておくほかなさそうです。

# v1.1のリリース時にいろいろ宣伝を(人力で)行うことにします。このv1.1で安定性と速度が大幅に向上し(このあたりはプログラム以外の要素による)、簡易Undoや入力ダイアログの文字化け抑止など、完成度が大幅に増しています。Mac Pro 2019で計算間違いが起こる現象についても対処を行なっています(実機がないので検証は行えないんですけれども)

最初のバージョンなので、メニューなどは日本語ローカライズしていません。

また、中身がほぼ99.9%AppleScriptで書いてあるものの、

Scriptableではありません。このアプリケーションの特性からいって、アプリケーションの書類を操作(読み書き)できるAppleScriptライブラリをアプリケーションバンドル内に入れることで、アプリケーション自体をScriptableにしなくても書類を操作できてよいのではないかと考えています。

主要機能をコンテクストメニューから呼び出すので、ワンボタンマウスを使うと手も足も出ません。その点のみ要注意です。

本アプリケーションで苦労した点

もともと、この6角形の図形を使ってKeynote上でいろいろアイデアを練ったり説明のための図を作っていろいろ試してみたら「この図を作るアプリケーションは便利だし、自分でも作れそうだ」と思いついたのがきっかけです。


▲LGやPanasonicが出している透明有機ELディスプレイに表示させるとこんな感じに?(想像図)

ハリウッド映画に出てくるハリウッド的な未来風のインタフェースを実際に実装してみるとこんな感じになるだろうか、というコンセプトでデザインしています。


▲Panasonic様のショールームを訪問して、実機で表示してみたところ

透明ディスプレイでは、明暗差を大きく確保しないとオブジェクトの視認性が下がるとか、グラデーション表現を行うと視認性が下がるといった「仮説」を立て、なるべく一色でベタ塗りするように味付けしています。このあたりは、透明ディスプレイに合わせたチューニングです。グリーンバック表示機能も、どの程度使えるか不明ですが、黒色バック透過モードで使い勝手がよくなかった場合への備えでもあります(一説には、黒色バック透過が一番きれいに透過するもよう)。

濃い色を積極的に使っているのも、透明ディスプレイの透過モード時には全体的に白っぽく表示される傾向があるようなので、「白飛び」を避けることが目的です。

1月中旬ぐらいに作り始め、1月末には初期バージョンが動いていました。


▲初期バージョン


▲セルのダブルクリックで文字入力が可能に(2月中旬)


▲指定セル内キーワードのタクソノミー展開を実装(2月中旬)


▲ビューの拡大・縮小表示、コンテクストメニュー表示が可能に(2月末)


▲ブロック認識、ブロック削除が可能に(3月中旬)


▲AirDrop共有、データ埋め込みPNG書き出し(3月中旬)


▲テーマセレクタが完成(3月下旬)


▲大型文字入力ダイアログを追加(4月)

正直なところ、こんなストロングスタイルのGUIアプリケーションを作ろうと思ったことはなかったので、いろいろと未知の現象に直面しました。

一番真っ青になったのは、開発途上でド派手なメモリリークに直面したときです。たいていのAppleScriptアプリケーションは、まとまった処理を行うためのパラメータ選択をGUI画面上で行い、メイン処理が動いたらまとまった処理を行って終了という動き方をするものでした。つまり、GUIアプリケーションといいつつもメモリリークに苦しめられることが少なかったのです。

こんな風にユーザーと対話動作をたえず行い、結果をグラフィックとして画面に描画する(=メモリリークの危険性の高い)アプリケーションを作るのははじめてです。

まずは、些細な処理でWindow Serverのメモリを大量に消費してクラッシュするという現象に直面。開発初期にこの現象の対策が行えたことはラッキーでした(Edama2さんにはこの段階でいろいろ助言をいただきました)。

次に、プレビュー作成時にメモリリークを行う現象に直面。いくぶん緩和していますが、ここは解決できていません。クラッシュしても、作業中の内容を定期的に保存し、強制終了後の再起動時にデータをリカバリする機能を追加。クラッシュしにくくする方向の努力はしつつも、クラッシュしてもデータを失いにくい方向に機能強化しました。

環境設定まわりの機能はけっこう実装に苦労しています。実装が間に合わなかったので、仕様的には幾分日和りました。

そして、毎度毎度のことながらSandbox化には苦しみました。コード署名するのに、Mac App Installerの署名とMac App IDの署名があり、間違ってMac App Installerで署名したり。あとは、コマンドラインから起動するタイプのツールをアプリケーションバンドル内に同梱して呼び出していたのですが(display mirror)、コードサインで問題が出たので分離せずにアプリケーション内に組み込むように変更しました(リジェクトされている間に機能改変)。

本アプリケーションでプログラム的に一番苦労したのは、ブロック認識プログラムです。データ上の1つの塊をまとめて処理するのに、この独特のヘックス構造のコマのせいで、前例がないような独創的な処理をいろいろと書かなくてはなりませんでした。

作りたかったけどv1.0にはあきらめた機能 ほか

アルファテスターからの指摘もありましたが、Undoがないのはけっこう辛いです。結局、Undoの実装のためには内部データを改変のたびに時系列順に保存し、保存した最新-1の状態に戻すといった実装になると思います。この、無段階Undoを実装することは可能と思われましたが、割と大掛かりな機能になりそうな(1か月ぐらいかかりそう)気配がしたので初版では見送りました。

本アプリケーションはScriptableではありません。将来的には、書類の読み取りと変更を行う機能を持つScript Libraryを同梱する方向でAppleScript対応を考えています(たぶん、これが一番楽で実用的)。

キャンバスの回転機能は単体で動くものが出来上がっていますが、まだアプリケーションに組み込んで動作させるところまでは行っていません。

「2つのキーワードの共通要素をリストアップする」プログラムはこのKamenokoの部品用に作ったもので、単体ではそれなりに有用な部品ではあるものの、本アプリケーションにどのように組み込むかのいいアイデアが出ませんでした。データとして処理すると有用さがわかるものの、それをどのように可視化するかが課題です(多すぎるアイデアにつぶされない戦い)。

本アプリケーションには検索機能が実装されていません。検索系の部品として、類義語展開したうえで検索を行う「スタークエリー」という部品をAppleScriptで作ってあるので、組み込むとしたらこれだと(指定のキーワードだけでなく、類義語でもヒットする)思っているのですが、英語+日本語の類義語(シソーラス)辞書が200MBぐらいあるのとGUI的にどうやってヒット状況を表示するかのアイデアがなかったので実装を見送りました。あとから考えると200MBぐらい昨今のアプリケーションでは問題ではないレベルなので、悩む必要はなかったようです。

開発中はフォントメニューのキャッシュ機能を有効にしていましたが、リリース版ではこれをオフにしました。Kamenokoを起動していない間にフォントの変更(追加、削除)が行われたことを検出する方法が思いつかなかったので、フォントメニューのキャッシュが危険に思われたためです。フォントパネルを表示させてフォントを指定する方法も試してみたものの、あまりピンとこなかったので使いませんでした。

目下、メインScriptが3,000行を超えるぐらいのサイズで、全体では5,000行ぐらいは行っていると思います。メンテナンス性があまりよくないので、機能追加を行うためにはメイン部分のスリム化が必須な状況でしょう。

Posted in PRODUCTS | Tagged 10.13savvy 10.14savvy 10.15savvy Kamenoko | Leave a comment

Now I’m writing “Switch Control” ebook

Posted on 4月 25, 2020 by Takaaki Naganoya

Now, I’m writing Switch Control ebook. It desribe how easy to make GUI for AppleScript with Switch Control.

# Book images are working version. Not finished yet.

This book will be sold at booth.pm.

Posted in PRODUCTS | Tagged Switch Control | Leave a comment

Double PDF v2.1準備中

Posted on 4月 24, 2020 by Takaaki Naganoya

Double PDF v2.1をMac App Storeに出すべく準備中です。このバージョンは、あくまでアプリケーションの署名周りの問題を解決するだけのリリースであり、機能的な追加を行うものではありません。

Posted in PRODUCTS | Tagged 10.13savvy 10.14savvy 10.15savvy | Leave a comment

新型アプリケーション「Kamenoko」をMac App Storeレビューに提出

Posted on 4月 21, 2020 by Takaaki Naganoya

本Blogにちょくちょく、その作例を掲載している6角形図形を組み合わせた図でアイデアを練るソフトウェア「Kamenoko」をMac App Storeのレビューに送信しました。2作目なので、レビューの概要もわかっており(1発で通ることはないので)前回のように却下に対して24時間即時対応、みたいな体勢にはしていません。しばらくApp Storeの審査とやりとりする必要があることを理解しています(1週間ぐらいでしょうか)。

目下App Store系の審査の担当者の人数が少ないために審査にかかる時間が長くなっているとの噂がありますが、これまでもMac App Storeの審査は時間がかかっていたので(前回1か月かかったし)、そんなもんだと思っています。

このKamenoko v1.0はAppleScriptからのスクリプティングには対応していません。ただ、中身はほとんど(99.9%)AppleScriptで書いてあるので、対応は難しくはありません。

難しくはないものの、このアプリケーションはAppleScriptによって操作してもあまり意味がないので(アイデアを練るためのアプリケーション)、書類の作成とか書類の内容取得、書類の内容変更などが行えるライブラリをアプリケーションに同梱する方向でAppleScriptサポート機能の実装を検討しています。

■リジェクト1発目

System Eventsを呼んでいることを問題視されているようです。当初、このアプリケーションでSystem Eventsを呼び出す必要はなかったのですが、Dark Modeの検出がmacOS 10.13でうまく働かなかったので、System EventsでDark Modeの検出を行わせるようにしていました。

Mac App Storeのレビューでは、指摘事項同士の矛盾については考慮されていません。(A)という指摘をされたので(B)という対応をしたら、説明の仕方を変更するだけで実は(A)の状態のままでよかった、ということがままあります。また、アプリケーション全体で複数の指摘項目があったとしても、1回のレビューで指摘されるのはだいたい1項目だけです。

なので、1項目の指摘事項があったので即時修正したとしても、さみだれ式に次々と指摘事項が(枝葉末節の問題から、徐々にセキュリティ系の事項へと)上がってくるものなので、「そういうもんだ」と割り切っていないとやりきれません。

System Eventsに依存しないAppearanceの判定を行わせると、macOS 10.13でDark Modeの検出ができなくなる可能性があり、macOS 10.13でDark Modeの検出ができなくなると、macOS 10.13対応が不適切であるという指摘が未来のタイミングで行われ、結局macOS 10.13対応を行うためにはSystem Eventsを呼ぶしかなかった、という結論に落ち着きそうな感じがとっても嫌な雰囲気です。

ただ、これまで1発目のレビュー(リジェクト)とかいうと、10分ぐらいであっという間に終わっていたので(溢れる「流れ作業」感)、1時間もかかったのは新記録ではないでしょうか。お茶飲みながらの1時間かもしれませんけれども。

■リジェクト2発目(2020/5/1)

のちのちのバージョンでやりたい(実現できるとは言っていない)機能のために宣言しておいたEntitlementsが、アプリケーションの機能に存在していないので却下、と判断されました。

あれ? AppleのWeb側にもXcode上にもそんな設定は(残ってい)ないのですがー(ーー;;;

Posted in PRODUCTS | Tagged 10.13savvy 10.14savvy 10.15savvy | Leave a comment

電子ブック年度末フェア実施中!

Posted on 1月 29, 2020 by Takaaki Naganoya

ぴよまるソフトウェアでは、本日より2020/3/31までの間、Piyomaru SoftwareがBOOTH上にて販売している電子ブックをお買い上げの方に、もれなく「Piyomaru Script Assistant v.2.0βお試し版」を配布するキャンペーンを開始いたしました。

Piyomaru Script Assistantは、スクリプトエディタのコンテクストメニューから呼び出すAppleScript記述補助ツール群「Script Assistant」の改良強化版です。


▲左:Apple純正のScript Assistant、右:Piyomaru Script Assistant v2.0

2004年ごろに作成し、以来ずっと個人的にメンテナンスを続けてきた、いわゆる「秘伝のタレ」でしたが、「AppleScript最新リファレンス」「AppleScript 10大最新技術」の刊行時に購入特典としてオマケで配布。これがPiyomaru Script Assistant v.1.0(以下、PSA v1.0と略)です。

その後、時はながれ、macOS 10.13の時代になってこのPSA v1.0のうち動かないScriptが出てきており、さらに2000年代初頭に作成したため「Cocoaの機能を呼び出さないのはおかしい」「いまならもっとスゲーことが普通にできている」と、時代に合わなくなってきました。

# 基礎的なScriptを自動入力できるという意味では、ねらいどおりなのですが、、、

そこで、昨年よりPSAのv.2.0を企画して実装を開始。ちょくちょく画面のスナップショットが掲載されているアレです。

PSA v2.0はv1.0よりもはるかに強力で、さまざまなOSの力を引き出す構成になっており、たとえばメニューバーに常駐するメニューなどもコンテクストメニューから一発入力できるようになっています。AirDropによる編集中のAppleScript書類の共有なども組み込まれています。ほぼ、内容的にはv1.0とは別物です。

このPSA v.2.0のβ版に対するご意見をいただきたいので、macOS 10.14以降の環境をお持ちで、該当期間中にPiyomaru Softwareの電子書籍をご購入いただいた方に、このPSA v2.0の評価キット(実際に使えます)を差し上げます。

同封のアンケートにお答えいただければ、PSA v.2.0の強力な機能をお試しいただけます。

この機会にふるってご応募ください!

応募方法:ご購入後にmaro@piyocast.comまで、「年度末フェア」のタイトルで購入お知らせメールをいただければ、ダウンロード先の情報をご返送いたします。

なお、普通に購入特典の希望メールをいただいた場合でも、「年度末フェア」のご案内を申し上げます。

Posted in PRODUCTS | Leave a comment

Blogアーカイブ本 vol.6を販売開始

Posted on 1月 21, 2020 by Takaaki Naganoya

一部の本Blog愛読者の方々からのご要望にお応えして(慣用句)、ここにBlogアーカイブ本のVol.6(2015年)の発売をお知らせいたします。旧BlogのDBダンプからデータを取り出して、2015年11月分までしか残っていなかったので、旧Blogのアーカイブ本はこれが最終巻になります。

→ オンライン販売ページ
→ お試し版ダウンロードページ

本Blog「AppleScriptの穴」は、開設10年目を迎える直前の2018年1月末に、格安ホスティングサービス「Xserver」との間の手違いでDBがシャットダウンされ、そのままの形で公開し続けることができなくなってしまいました。

そこで、AppleScriptのプログラムによるFinder上のAppleScriptの自動HTML化、AppleScriptによるXML-RPC経由でのWordPressへの自動記事投入といったさまざまなソリューションを投下して、現在の登録記事数に復旧。自動記事投入による復旧を行なったために、当時の作業環境でオープンできない(OSバージョン依存、アプリケーション依存)Scriptについては掲載を見送っています。

 旧AppleScriptの穴:2008〜2018年 Mac OS X 10.4〜10.5の時代に開設
 現AppleScriptの穴:2018年〜   Cocoa APIを呼びまくる現在のスタイルが定着

自動投入可能なコンテンツを優先して掲載したため、旧Blogと現Blogでは掲載内容が大幅に変わっています。別物といってよいでしょう。

そのため、Cocoa APIを使用しない「オールドスタイルのAppleScript」(とくに昔のバージョンのアプリケーション依存)については再掲載が難しく、このBlogアーカイブ本シリーズにしか情報をまとめていません。

旧Blogアーカイブ本シリーズも、1年ごとに区切って記事をPDF化して6冊目。Vol.6は2015年1〜12月の1年分の内容をまとめています。全383ページ、2,000円。

ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。本文からリンクしているXcodeプロジェクトのダウンロードリンクも新たに現行Blogにアップロードしたアーカイブにリンクし直しています。

もちろん、各プログラムリスト末尾にURLリンクをそなえ、ワンクリックでプログラム内容をスクリプトエディタに転送可能です。

ほとんどの掲載プログラムについてコメントを行い、現時点(2020年時点)で評価してどうか、ということを追記しています。

AppleScriptの穴Blogアーカイブvol.6

ASObjCExtras ICU Transformのサンプル
(Free) ASObjCExtras Scripting Guide
Display情報の取得
2Dリストから、指定アイテムNoで、指定データが該当する最初のものを返す v3
指定したアプリケーションの各lproj内の各stringsファイルのパス一覧を取得する
2月1日が日曜日でうるう年ではないかチェック(ASOC)
カレンダー.app(旧称iCal)で選択中のイベントの情報を取得
起動中のプロセスの存在確認
起動中のプロセスの存在確認(ASOC)v2
Photoshop Action Setをインストールする
現在地点の緯度経度情報を取得する
CSVファイルをListにParseする(ASOC)
CSVファイルをListにParseする(ASOC) 2
errorのpartial resultとは?
レコードとレコードの連結
同スコアを考慮した順位決定
公開添削:サーバー上のファイル権限をローカルで書き換えて書き戻し
ASOCで基礎的な文字列比較
ASOCで基礎的な文字列比較 2
文字列同士が同じかチェック(大文字,小文字の差異を考慮したり無視したり)
Umlautを無視した文字列比較
ASOCで数値文字の比較
POSIX pathで与えられたパスの親フォルダを求める(末尾にスラッシュ添付)
DiskSpaceを求める
CocoaでDisk Free Space (Bytes) を求める
写真.app(Photos.app)のScript対応機能は未完成
OS X 10.10.3のdelayに(新たな)バグ? マウスカーソルの移動でdelayがキャンセルされる
Spotlight検索インデックスを再生成
2015/5
Mailで選択中のMessageの添付ファイルをデスクトップに保存
Mailで有効なmailアカウントの新規メール取得を強制的に有効にする
メモリー解放?
OS X 10.11, El Capitanが発表に
バージョン番号文字列からメジャーバージョンを取り出し数値として返す v4
SafariのWebViewへのGUI Scripting的な参照を取得する v2
URLByAppendingPathComponentのじっけん
指定のURLのYouTubeのムービーをOffLiberty経由でローカルにダウンロード
Finderで選択中の戦場の絆のリプレイムービーのファイル名を取得して対戦人数を集計する
JSON文字列とrecordの相互変換
ASOCでレコードのリストをユニーク化
ASOCでbase64エンコード、デコード
ASOCでバージョン番号文字列の正確な比較
ASOCでbase64エンコード、デコード v2
ASOCでNSStringをas stringでcastすると問題が出るバグの検証
指定の画像を別形式に変換する
現在のLocaleのIdentifier文字を取得する
ASOCで数値を指定桁でゼロパディング
指定の画像を別形式に変換する v2
指定の画像を別形式に変換する v3
フォルダアクションの操作
CPUの詳細な型番を取得する
使用中のMacの製品呼称を取得する
使用中のMacの製品呼称を取得する v2
ASOCで少数点以下の数値の切り上げ、切り下げ
ASOCでScript Editorの構文色分け情報を設定ファイルから取り出す v2
ASOCで少数点以下の数値の切り上げ、切り下げ v2
ASOCでRTFの内容を読み取って指定文字を置換してファイルに保存する
ASOCで与えられた画像ファイルがNSImageでハンドリング可能かを取得
ASOCで無線LANの各種情報を取得する
ASOCで無線LANの各種情報を取得する v2
ASOCで動的にWindowを作成
El Capitanの各Apple純正ツールのAppleScript用語辞書の変更度合い
ASOCで各種文字列からdate objectに変換 ほかNSDataDetectorの活用
NSDataDetectorを用いてテキストから各種データを抽出
MacのHardware UUIDを取得する
ASOCで性別と言語コードを指定してTTS voiceを取得 v2
ASOCでHostの情報を取得する
ASOCでNSLocaleのじっけん
100%クラッシュするNSCalendarの操作
NSTimeZoneのじっけん
ASOCでNSFont,NSFontManagerのじっけん
ASOCでプロセス関連のじっけん
ASOCでspotlight検索するじっけん
ASOCで文字を逆順に
ASOCでspotlight検索するじっけん v2
秒以下の時間待ちを検証
エラートラップのpartial result
メールアドレスの妥当性チェック
URLの妥当性チェック
URLからドメイン名を抽出
指定URLをロードしてtitleを取得
メーラーから取得したメールアドレスのうち純粋なアドレス部分を抽出 v2
現在実行中のプロセスの情報を取得
続・伏字文字列を作成する
指定URLのファイルをダウンロード
テキストの言語を推測する
与えられたテキストの言語を自動判別して対応する言語のTTS Voiceで読み上げ
マルチバイト文字の検出、の落とし穴
NSCountedSetでNSDictionaryの登場頻度集計
指定URLをロード WKWebView版
クリップボードの内容をRTFとPDFで書き出す
spotlightでタグを指定して検索
NSPredicateによる正規表現を利用した部分一致抽出
BridgePlus 1.2のframeworkの新機能テスト(1)
多国語OCR「FineReader OCR Pro」をAppleScriptでコントロール
指定フォルダのファイルパス一覧取得(拡張子指定つき)
続・指定フォルダのファイルパス一覧取得(拡張子指定つき)
文字エンコーディングを自動判別して日本語テキストファイル読み込み v1.2.1
マウスカーソルの強制移動とクリック
XML-RPCのテスト
数字以外を削除して返す
テキストとリストの変換
iWorkアプリがアップデート、AppleScript対応機能が強化される
PDFメディアサイズの取得(単位:Point)
指定ファイルに指定アイコン画像をつける
PDFの各種情報を取得する
指定ファイルのアイコン画像を取得する
アプレットのアイコンをDockに出さない
ASOCによるファイルの移動
Keynote 6.6のじっけん(3)〜表を作成してデータで埋める
指定フォルダ内のフォルダのみを取得する
Foundationのバージョンを取得する
NSErrorを生成する
Systemのアラートサウンド名称を取得して鳴らす v2
ムービーからオーディオのみ抽出してm4aで保存 v2
Safariと同じUser Agent文字列を組み立てる
Safariでアクセス中のページが設定しているCookieの値を求める
文字列のURLエンコード、デコード
iWorkアプリがアップデート。AppleScript関連の機能変更はなし
PEGKitのじっけん
Cocoaオブジェクトのクラス名を文字列で取得

Posted in PRODUCTS | Leave a comment

display drop dialog Script Library

Posted on 1月 16, 2020 by Takaaki Naganoya

指定UTIのファイルのFinderからのドラッグ&ドロップを受け付けるAppleScript Libraries「display drop dialog」をリリース、フリー配布いたします。

# 本ライブラリはEdama2さんのScriptに若干の改変を行い、sdefをつけてパラメータのエラー処理を行い、コードサインしてライブラリ化したものです

–> Download display drop dialog Script Library (To ~/Library/Script Libraries/)

本ライブラリは、指定UTIの書類のドラッグ&ドロップを受け付けるダイアログをAppleScriptから手軽に使えるようにするものです。macOS 10.14以降で動作します。

現在のAppleのTim Cook体制は、セキュリティ強化の美名のもとに「動かないコンピュータ」を目指し、各種機能を阻害する方向に進んでいます。

AppleScriptの世界はその中でも自由度が比較的高い状態にありますが、それでもmacOS 10.12以降では、AppleScriptドロップレットにFinderからドラッグ&ドロップしても、Finderの拡張属性(Xattr)がついたファイルは無視されたりと、なかなか困ります。

そこで、Finderからのドラッグ&ドロップ操作を通常の(Applet書き出ししていない)AppleScript、とくにScript Menuから呼び出す形式のAppleScriptで使えるようにすることを目的として本ライブラリを作成しました。

本ライブラリを用いることで、ドロップレットを作らなくても、Script Menuから呼び出した普通のAppleScriptにファイルのドラッグ&ドロップの受信機能を追加できます。セキュリティと機能性(ドラッグ&ドロップ)を両立させるため、すべてのScripterに欠かすことのできないライブラリになるものと期待しています。

本ライブラリのAppleScript用語辞書には実行イメージ(画面キャプチャ)およびサンプルScriptを入れてあり、実行時の様子やサンプルスクリプト(本Blogと同様のワンクリックで内容が転送されるリンクつき)を確認できるようになっています。

AppleScript名:accept AppleScript documents
use dropLib : script "display drop dialog"

set aMainMes to "Drop AppleScript"
set aSubMes to "Drag and Drop AppleScript files here"
set aUTI to "com.apple.applescript.script"
set execButtonTitle to "Execute"
set aRes to (display drop dialog aUTI main message aMainMes sub message aSubMes with initial folder "" OK button title execButtonTitle)
–> {alias "Machintosh HD:Users:me:Documents:display drop dialog:accept PNG images.scpt", alias "Machintosh HD:Users: me:Documentsaccept Markdown documents.scpt"}

★Click Here to Open This Script 

AppleScript名:accept Markdown documents
use dropLib : script "display drop dialog"

set aMainMes to "Drop Markdown Documents"
set aSubMes to "Drag and Drop Markdown documents here"
set aUTI to "net.daringfireball.markdown"
set execButtonTitle to "Execute"
set aRes to (display drop dialog aUTI main message aMainMes sub message aSubMes with initial folder "" OK button title execButtonTitle)
–> {alias "Machintosh HD:Users:me:Documents::–Book 11 「Blog Archives vol5 2013-2014」:2013:01:201301013.md", alias "Machintosh HD:Users:me:Documents::–Book 11 「Blog Archives vol5 2013-2014」:2013:01:201301012.md"}

★Click Here to Open This Script 

AppleScript名:accept PNG images with initial folder contents
use scripting additions
use dropLib : script "display drop dialog"

set aMainMes to "Drop PNG"
set aSubMes to "Drag and Drop png images here"
set aUTI to "public.png"
set execButtonTitle to "Execute"
set iFolder to path to pictures folder –At first, PNG files in this folder is displayed
set aRes to (display drop dialog aUTI main message aMainMes sub message aSubMes with initial folder iFolder OK button title execButtonTitle)
–> {alias "Machintosh HD:Users:me:Pictures:1015sedhelp2.png", alias "Machintosh HD:Users:me:Pictures:574G01.png", alias "Machintosh HD:Users:me:Pictures:macDown1.png", alias "Machintosh HD:Users:me:Pictures: 2017-09-27 19.33.53.png", alias "Machintosh HD:Users:me:Pictures:2018-11-01 10.54.06.png"

★Click Here to Open This Script 

Posted in dialog GUI PRODUCTS Script Libraries sdef | Tagged 10.14savvy 10.15savvy | Leave a comment

Blog アーカイブVol.5 rev1.1を公開

Posted on 1月 16, 2020 by Takaaki Naganoya

発売したばかりの「BlogアーカイブVol.5」ですが、画像のリンク抜けがあるとのご報告をいただき、すぐさま修正版をリリースしました。すでにお買い上げの方々におかれましても、再ダウンロードでダウンロードできるはずなので、おためしください。

本件については、画像リンクチェッカーAppleScriptの機能を強化。これまでも、Markdownタグでリンクした画像のリンク抜けについてはAppleScriptで自動チェックを行なっていたのですが、HTMLタグで入れた画像リンクについてはチェック対象外となっていました。

そこで、画像リンクチェッカー「指定ディレクトリ以下のMarkdown書類のリモート画像URLのリンク切れをチェック(Markdown、HTMLタグ両方)」を作成し、自動でMarkdown/HTMLタグで記述された画像リンクチェックを実施。

5か所ほど画像リンク抜けが見つかったので、その点を修正したRev. 1.1をアップロードしました。

表紙と奥付のリビジョン表記が1.0から1.1になっています。

原稿(Pages&Markdown書類)→PDF書き出し→PDF結合→TOC作成 と、ワークフローをAppleScriptで自動化しており、こうしたツールを作ってきたからこそ、たった1人で執筆、編集、発行(販売)を行えるようになっている次第です。

なお、画像リンク抜け以外の箇所はほとんど変わっていませんので、現時点でお手もとにあるPDFで不満のない場合にはそのままでもけっこうです。

Posted in Books PRODUCTS | Leave a comment

Blogアーカイブ本 vol.5を販売開始

Posted on 1月 14, 2020 by Takaaki Naganoya

一部の本Blog愛読者の方々から「アーカイブ本まだ?」と言っていただいて気にはしておりました。ここに、Blogアーカイブ本のVol.5(2013〜2014年)の発売をお知らせいたします。

→ オンライン販売ページ
→ お試し版ダウンロードページ

本Blog「AppleScriptの穴」は、開設10年目を迎える直前の2018年1月末に、格安ホスティングサービス「Xserver」との間の手違いでDBがシャットダウンされ、そのままの形で公開し続けることができなくなってしまいました。

そこで、AppleScriptのプログラムによるFinder上のAppleScriptの自動HTML化、AppleScriptによるXML-RPC経由でのWordPressへの自動記事投入といったさまざまなソリューションを投下して、現在の登録記事数に復旧。自動記事投入による復旧を行なったために、当時の作業環境でオープンできない(OSバージョン依存、アプリケーション依存)Scriptについては掲載を見送っています。

 旧AppleScriptの穴:2008〜2018年 Mac OS X 10.4〜10.5の時代に開設
 現AppleScriptの穴:2018年〜   Cocoa APIを呼びまくる現在のスタイルが定着

自動投入可能なコンテンツを優先して掲載したため、旧Blogと現Blogでは掲載内容が大幅に変わっています。別物といってよいでしょう。

そのため、Cocoa APIを使用しない「オールドスタイルのAppleScript」(とくに昔のバージョンのアプリケーション依存)については再掲載が難しく、このBlogアーカイブ本シリーズにしか情報をまとめていません。

旧Blogアーカイブ本シリーズも、1年ごとに区切って記事をPDF化して5冊目。この頃の記事投稿数が少なかったので、Vol.5は2013年1〜2014年12月の2年分の内容をまとめています。全429ページ、2,000円。

ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。本文からリンクしているXcodeプロジェクトのダウンロードリンクも新たに現行Blogにアップロードしたアーカイブにリンクし直しています。

もちろん、各プログラムリスト末尾にURLリンクをそなえ、ワンクリックでプログラム内容をスクリプトエディタに転送可能です。

ほとんどの掲載プログラムについてコメントを行い、現時点(2020年時点)で評価してどうか、ということを追記しています。

AppleScriptの穴Blogアーカイブvol.5

AppleScriptObjCでViewを印刷
AppleScriptObjCで透明ウィンドウを表示
Bundle IDで指定したアプリの非同期起動
指定プロセスの死活判定
最前面のアプリケーションをいったん終了させてから起動
指定プロセスの死活判定 v2
複数のピリオドが入る数字の文字列を数値として解釈して返す
与えられたICC Profileの名称リストからもっともバージョンの新しい(大きい)数字を持つものを返す
システムにインストールされているICC Profileのうち、指定キーワードに該当する名前を持つものでバージョン番号が最新のものを返す v2
Photoshopのsave optionをテキストで指定して反映させるテスト
AppleScriptObjCでボタンの文字色を変更
Xcode 4.6でAppleScript用語辞書の若干の間引きを
USBメモリやネットワーク上のサーバーなどをアンマウント
AppleScriptObjCでボタンを動的に生成
AppleScriptObjCでボタンを動的に生成(横に複数作成)
miで文字置換
AppleScriptObjCでMyriad Helpersの三角関数を使ってWindowを円運動
AppleScriptObjCとメモリ管理
AppleScriptObjCでPDFViewを使ってPDFをプレビュー(3)
ログファイルから時間帯ごとの度数分布を計算
指定のコード体系の全パターンのコードを生成 v1
指定のコード体系の全パターンのコードを生成 v2
指定のコード体系の全パターンのコードを生成 v3
指定のコード体系の全パターンのコードを生成 v4
指定のコード体系の全パターンのコードを生成 v5
リストを任意のデリミタ付きでテキストに v2
特定の語句を含むMail.appのフォルダ(mailbox)を抽出してフルパスを文字列化
現在表示中のCanvasに存在しているラインのうち青いものに影を付ける
miで選択中の内容をファイルに書き出してperlのプログラムとしてterminalで実行
miで選択中の内容をファイルに書き出してperlのプログラムとしてterminalで実行 v2
文字入力モードを制御
iTunesのMobileアプリをコピーしてすべて展開する
Find same file name with different extension
AppleのAppleScript関連ドキュメントの個人的な翻訳サイト
インストールされているアプリのAS辞書を書き出すv2
Mailで選択中のmessageの親フォルダのフルパスを文字で取得する
指定フォルダ中のファイル名が拡張子を外すと衝突するかどうかチェック
AppleのiBookstoreが日本国内向けにコンテンツ販売を開始
Safariで指定可能なユーザーエージェントのリストを返す
Safari 6で指定のURLをオープンする
Safariで指定User Agentで指定URLをオープン
共通項目をキーにしてリスト内の項目を統合する v2
アプリケーションのクラッシュレポートダイアログの表示切り換え
入れ子のリストの昇順、降順ソート(超高速版)
IPアドレスがプライベートIPアドレスかどうかチェック
OS X 10.8のdateに強烈なバグ
1Dリスト中のシーケンシャルサーチ
1Dリストのスイープ
自然言語による相対日付指定v14
CSVデータを読み込んでリスト化
SafariでRadiko選局を行う 10.6.8+5.1.8版
SafariでRadikoの選局を行う v2
開始日と終了日の間を、指定日数単位で切った{開始日,終了日}のリストの日付文字列リストを返す
手作りのノンブルが作ってあるPowerPoint書類に対して、座標位置(一番左側に寄せてある)を手がかりにフレームを取得してリナンバリング
0〜255の8ビットの値から構成されるRGB値のリストの色をプレビューする
Photoshop CS6でRGB→LAB、LAB→RGB変換
0〜255の8ビットの値から構成されるRGB値のリストの色をプレビューする
PowerPointで、オブジェクトの外側の線の色を、水色から青に変更
Photoshop CS6でRGB→LAB、LAB→RGB変換
Photoshop CS6でRGB→HSB、HSB→RGB変換
Photoshop CS6でRGB→RGB Hex、RGB Hex→RGB変換
Photoshopでオープン中の画像をグレースケール→白黒2値の画像にモードを変換する
Safariでオープン中のファイルを別途ダウンロードv2
Photoshop上で選択範囲を指定色(RGB)で塗りつぶす
AppleScriptの処理中断
PDFのページ数を数える
EPSファイルの破損チェック(高速版)
プレビュー.appをAppleScriptから操作
国民の祝日を求める v4
AppleriptObjCベースのCocoaアプリケーションのSandbox化は可能か?
入り組んだリストの中に指定要素が存在するかどうかをチェック
Mail.appのメールボックスオブジェクトを渡すと、テキストのフルパスに変換 v1
Mail.appの指定メールボックス内に任意のメールボックスを新規作成 v2
OmniOutlinerで選択中の行の内容のうち指定列のデータをすべて取得
リストをテキストに
指定の文字エンコーディングでテキストをファイルに保存
ASObjCExtrasでファイルの情報を取得
ASObjCExtrasで1Dリスト中の合計値、最大値、最小値を求める
ASObjCExtrasで1D List中のヌル要素を削除
ASObjCExtrasで1D List中のmissing valueを置換
ASObjCExtrasで2DのListをフラット化(1D List化)
OS X 10.10 Yosemite のAppleScript関連バグまとめ
2Dリストで最長の要素に満たない個数の要素は後ろに埋め草を追加
2D Listの各要素に指定の1Dリストの内容をインサートする
指定ファイルからサイズ情報を取得
ドロップレットのデバッグ方法
Finder Windowを円運動 v2
list同士のdiffをとる(asoc)
listの共通項を返す(asoc)
1D Listのユニーク化(asoc) 処理内容比較
asocで文字置換
2D Listを1D Listに変換
レコードの操作
レコードのリストをソート(asoc)
レコードのリストから抽出(asoc)
リストから抽出(asoc)
レコードのリストから抽出(別リストに該当するもののみ)
Keynote 6.5で各スライドのタイトル、マスタースライド名を取得してデータ化
1D Listを文字列長でソート
2D Listを文字列長でソート
1D Listを文字列長でソート v2
10.10でプリンタを選択して印刷
10.10でプリンタの情報を取得する
無限次元リストのフラット化
2D Listを文字列長でソート
1D Listの内容すべてに指定数値を加算
画像の特定のピクセルの色を取得
画像中の色数をカウント
指定アプリケーションがフルスクリーン状態かどうか調べる
NSNumberFormatterのテスト
as integerの落とし穴
数値の桁数を求める
同一パターンの連番文字列の作成
1Dリスト中の複数指定アイテムの出現位置をリストで返す
CoreImageでフィルタしまくり
Bluetoothに接続中のデバイス名を取得するv2
NSSoundで音声を再生
バージョン番号文字列からメジャーバージョンを求める
バージョン番号文字列からメジャーバージョンを求める v2v3
指定AppleScriptをしらべたり実行したりする
指定ロケールの月名、曜日名を取得する
AppleScriptでJavaScriptを実行する
SafariのWebViewのGUI Scripting的な参照を取得する
アプリケーションのローカライズ分布を取得する
アプリケーションのローカライズ分布を取得するv2
アプリケーションのローカライズ分布を取得する v4
アプリケーションのローカライズ分布を取得する v5
アプリケーションごとのローカライズ言語数を求める
オーディオファイルのチャンネル数と再生時間を取得する
aListのうち、bListに入っていない項目を返す
PDFをページごとに分解する
文字エンコーディングを自動判別してテキストファイル読み込み v1
文字エンコーディングを自動判別してテキストファイル読み込み v2

Posted in PRODUCTS | Leave a comment

Double PDF v2 Now On Sale

Posted on 1月 3, 2020 by Takaaki Naganoya

Mac App Storeで、Piyomaru SoftwareによるMac用アプリケーション「Double PDF」の新バージョンv2.0をリリースしました。100% AppleScriptで記述しています。

本バージョンは、macOS 10.13においてScripting Bridge経由でPDFViewを正しくアクセスできないバグが発生している症状を回避したものです。表示中のページ管理などをすべてアプリケーション側で行うことにより、機能の回復を実現しました(書いていて情けない)。

v1ではGPUImage.frameworkを利用して画像処理していましたが、これを取り外してすべてAppleScriptで処理するように変更しました。

■v2.0の追加機能
・ダークモード対応
・画像比較時のカラーモード追加(従来はグレースケールのみ)
・30言語に対応(English, Catalan, Chinese, Croatian, Czech, Danish, Dutch, Finnish, French, German, Greek, Hindi, Hungarian, Indonesian, Italian, Japanese, Korean, Malay, Norwegian Bokmål, Polish, Portuguese, Romanian, Russian, Simplified Chinese, Slovak, Spanish, Swedish, Thai, Traditional Chinese, Turkish, Ukrainian, Vietnamese)
・Unicode文字の「Zero Width Space」削除機能を追加

■v2.0の修正機能
・順次Diffチェック時に、アプリケーションアイコン上に描画するプログレスバーの進捗度が間違っていたのを修正

Posted in PRODUCTS Release | Tagged 10.13savvy 10.14savvy 10.15savvy | Leave a comment

CotEditor PowerPackのPiyomaru Software内での位置付け

Posted on 12月 22, 2019 by Takaaki Naganoya

CotEditor向けの機能強化Script群「CotEditor PowerPack」は、自分たちが便利そうだと思った機能をびっしりと敷き詰めて実装してみました(基礎的なScriptingについては、同梱の基礎的なサンプルスクリプト集「BasicPack」にまとめています)。PowerPackを実際に作ってみたら、メニューで項目が増えたときに絵文字によるラベリングが割と有効だという発見ももたらしました。

ただ、PowerPackがPowerPack単体で存在するはずもなく、Piyomaru Softwareが作成している各種プログラムとも密接な関係にあります。歴史的な経緯の中で先行ソフトウェアの影響も受けていますし、さまざまなプロジェクトの成果物や技術の実証の場として利用しているからです。

Tanzakuの部品を利用

具体例を言うと、Tanzaku用に開発した コマンド解析用 簡易日本語形態素解析エンジン「easyJParse」。これはAppleScriptだけで記述した80行ほどの規模の形態素解析プログラムです。これをコマンド解析用以外の、伏せ字処理のプログラムに使っています。

「航空機の部品を炊飯器に転用する」ような違和感はありますが、想定外の用途に部品を使いまわすと意外な発見があります。easyJParseはコマンド解釈用の日本語Parseプログラムであり、長大な文章を解釈するようには実装していません。そこに実際に数十〜数百KBのサイズの日本語テキストを与えてParseするとどうなるかという実験が行えました。実際、ループで文章単位のテキストを与えているため、クラッシュしたり迷走したりすることなく処理できました(それなりに時間はかかりましたが)。データの持ち方をより大規模なデータを与えても大丈夫なように備えていれば、ある程度の大規模データにも備えることができるでしょう。

コマンド構造は日本語音声認識コマンダーの影響

多くのコマンドから全体を構成するノウハウは、2003〜2004年ごろに作っていた日本語音声認識コマンダー(いまのAIスピーカーみたいなもの)「符令韻投句」(ぷれいんとーく)で培ったものです。各コマンドの粒度については小さいほうがいいのか大きいものがあるべきかなどまだ実験中ですが、PowerPackの場合には「細かいコマンドを寄せ集めるとどうなるか」という実験を行なってみています。

Piyomaru Script Assistantに影響

スクリプトエディタの編集エリア上でコンテクストメニューを表示させて呼び出すScript Assistantは、Apple純正のものがOSにデフォルトで入っていますが、網羅性がいまひとつで実用性もさっぱりです。

そこで、Mac OS X 10.3から4の時代にこれを自分に合わせてすべて書き直し、さらに書籍のオマケに出すために網羅性を高めたものが現在配付中のPiyomaru Script Assistantです。

Piyomaru Script AssistantのScriptのうちmacOS 10.13で動かなくなってしまったものがいくつかあり、また、内容についても更新の必要を(さすがに2006年ごろに作ったものなので)感じたため、こちらも強化を行なっています。

さらに、PowerPackで積み重ねた実験結果をPiyomaru Script Assistantにフィードバック。CotEditorのPowerPackで培ったメニューにおける絵文字の活用ノウハウが生かされており、また、初心者に違和感なくCocoa Scriptingの部品を使ってもらえるような配慮を行っています(Cocoaの機能をまったく使わないVanilla Scriptの中にCocoa ScriptingのScriptingモジュールを埋め込む格好)。

そもそも、本Blogがスタートした経緯そのものが、すべてAppleScriptで記述した人工知能インタフェース「Newt On」(文字版のSiri)の内部ルーチン(部品)のメンテナンスとか共有が目的だったので、Piyomaru SoftwareのプログラムはおしなべてNewt Onの影響を受けていたり、そのものの部品を使っていたりもします。

これらの技術や経験もすべてTanzakuに向けて蓄積されているところです。

Posted in PRODUCTS | Tagged 10.14savvy 10.15savvy | Leave a comment

[作業中]Double PDF 改修中

Posted on 11月 28, 2019 by Takaaki Naganoya

AppleがPDFViewのScripting Bridge関連データにバグを作り、レポートしても一向に直さないため、Mac App Storeに出しているものの、macOS 10.13以降のOSでは正常動作しない、Piyomaru Software謹製のPDF差分ブラウザ「Double PDF」。

Appleが作ったバグのせいで基礎的な動作が阻害されてしまっているので、機能アップは一切考えないで(機能アップ版として別のものを作っていたので)、Double PDFについては現在のOSで動くレベルで改修をすすめています(作業量が見えない、、、、)。

–> Demo Movie of Current Version of Double PDF v2.0 (on macOS 10.14.6)

AppleScriptの箱庭世界でモノを作っている分には環境変化は割と穏やかですが、直接Cocoaの機能に手を出しはじめると、OSバージョンごとの無意味な名称改変とか、予告なしの仕様変更とか、このような未改修のバグに直面することがあり、Mac OS X 10.3で「is in」という基礎的かつ重要な演算子にバグを作られた時と同質の負の感情を喚起されるものがあります。

正式にDevelopper Supportの窓口から詳細に症状を伝えてレポートしても無視されているので、AppleのDevelopper Supportもバグの報告でパンクしているということでしょうか。macOS 10.13以降、バグレポートしても返事も来ないのが日常化してしまったので(AppleScript関連ではないバグがほとんどなのですが)、バグを直す気がないんでしょうか。


▲macOS 10.14.6上で改修中。まだ画面操作まわりに着手しただけ


▲macOS 10.15.1上で動作確認。最近のmacOSはBetaで動作確認してもRelease版の品質がBeta以下なので、Beta上で確認する意義が、、、

Appleによって破壊された機能は、PDFViewまわりの基礎的な機能。

- (IBAction)goToFirstPage:(nullable id)sender;
- (IBAction)goToLastPage:(nullable id)sender;
- (IBAction)goToNextPage:(nullable id)sender;
- (IBAction)goToPreviousPage:(nullable id)sender;

@property (nonatomic, readonly, nullable) PDFPage *currentPage;

などです(他にもあるかも。いや、確実にある)。つまり、PDFビューワー機能を作ろうとすると、いろいろ苦労させられる状態です。

苦労が必要ということは、余計に処理時間が必要ということで、処理速度はオリジナル版よりも遅くなっています。とくに、PDFのページめくりが、、、


▲開発時に資料を作っておかなかったらもっと大変、、、、、

Posted in news PRODUCTS | Tagged 10.14savvy 10.15savvy | Leave a comment

Newt On Projectのプレゼン書類を公開

Posted on 8月 15, 2018 by Takaaki Naganoya

2002〜2003年ごろにAppleScriptでいまのSiriライクな人工知能インタフェース「Newt On」を作っていた頃の、プレゼン資料をSlideshare上に公開しました。
→ Slideshare上のアカウントが凍結されたので(なんで?) 本Blogに掲載しておきました。

書籍「AppleScriptの穴Blogアーカイブvol.3」掲載のNewt On Project記事と合わせてご覧になると、より分かりやすいと思います。

Posted in Books PRODUCTS | Leave a comment

Blog Archiveの電子書籍を計画しています

Posted on 6月 11, 2018 by Takaaki Naganoya

「AppleScriptの穴」の内容が、2018年の1月末にBlog開設10年目にして突然消滅。あの悪夢のBlog消失事件から半年近くが経過しました。

消失直後に、AppleScript書類をHTML化してXML-RPC経由でWordPressをコントロールして、BlogにアップロードするAppleScriptを書いて実戦投入。機械的に基礎的なサブルーチンをアップロードし、じょじょに説明文を付加したコンテンツをアップロード。

macOS 10.11以降のScriptを対象に迅速な復旧を行い、意図した範囲でのサイト復旧はできているのかな、という状況です。

一方で、もっと古い時期&OSバージョン向けの情報については、正直なところそれを検証する環境を整備・維持するのが難しい状況です。

そのため、本BlogでもmacOS 10.10以前の情報について再掲載するつもりはありません。

そこで、古い情報のみを集めたBlog Archive本を電子ブックで出版することを計画中です。AppleScriptの穴のフォーマットと同じく、構文色分けを行なったプログラムリストに、クリックすると内容がScript Editorに転送されるURLリンク付き。PDFによる出版のため全文検索で内容をサーチ可能です。

→ Blog Archive Vol.1〜6 発売中

とりあえず1か月分の見出しをリストアップしてみたら、130本ぐらいありました(Blog開設当初で、AppleScriptによる自動投稿プログラムにより連続アップしていました)。2008年3月9日から1年分を拾うだけでも500〜800ページぐらいにはなりそうです(×10年分)。

いまでもOS X 10.4〜10.9あたりを使い続けている方には見逃せない情報になるものと思われます。

なお、Blog復旧&再始動したあとのBlogアーカイブについては、新刊のCocoa Scripting Courseシリーズに各カテゴリのScriptをまとめて添付するため、これがアーカイブに該当することになります。

Posted in Books PRODUCTS Release | Leave a comment

Post navigation

  • Newer posts

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • CotEditorで2つの書類の行単位での差分検出
  • macOS 15, Sequoia
  • 指定のWordファイルをPDFに書き出す
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Adobe AcrobatをAppleScriptから操作してPDF圧縮
  • メキシカンハットの描画
  • 与えられた文字列の1D Listのすべての順列組み合わせパターン文字列を返す v3(ベンチマーク用)
  • Numbersで選択範囲のセルの前後の空白を削除
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AdobeがInDesign v19.4からPOSIX pathを採用
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • Cocoa Scripting Course 続刊計画
  • AppleScriptによる並列処理
  • macOS 14.xでScript Menuの実行速度が大幅に下がるバグ
  • NaturalLanguage.frameworkでNLEmbeddingの処理が可能な言語をチェック
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • Keynote/Pagesで選択中の表カラムの幅を均等割
  • macOS 15 リモートApple Eventsにバグ?
  • Keynote、Pages、Numbers Ver.14.0が登場

Tags

10.11savvy (1102) 10.12savvy (1243) 10.13savvy (1392) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (189) 14.0savvy (141) 15.0savvy (119) CotEditor (66) Finder (51) iTunes (19) Keynote (115) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (76) Pages (54) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC