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

カテゴリー: news

Microsoft Edgeが正式リリース

Posted on 1月 16, 2020 by Takaaki Naganoya

MicrosoftによるGoogle Chrome(オープンソース版のChromium)をベースにした(そのまま)Webブラウザ「Microsoft Edge」の正式版がリリースされました。

ChromiumはAppleScriptに対応しており、ベータ版である「Edge Canary」もChromiumと同様のAppleScript用語辞書を備えていました(A=B)。

正式版「Edge」のAppleScript用語辞書と「Edge Canary」の用語辞書とdiffをとってみたところ、内容が同じであることを確認できました(B=C)。

このため、Google Chromium用のAppleScriptとtell文のアプリケーション名だけ書き換えればEdge用のAppleScriptとして動かせることが期待できます(メニューやボタンを直接動かすGUI Sciriptingをのぞく)。


▲メニュー構成はけっこう違います

Posted in news | Tagged Microsoft Edge | Leave a comment

A Happy New Year

Posted on 1月 1, 2020 by Takaaki Naganoya

Posted in news | Leave a comment

2019年に書いた価値あるAppleScript

Posted on 12月 13, 2019 by Takaaki Naganoya

2019年:macOS 10.15(自分は10.14を使用)

2019年を振り返ると、

 ・鹿児島から東京に帰ってきた
 ・メイン環境をmacOS 10.12から10.14に移行した(10.13をパスした)
 ・仕事でCSVやIllustratorと格闘していた
 ・高度なデータ照合(配列の順列組み合わせ全パターン計算して照合)を実施
 ・Webブラウザ上のWebコンテンツ部品の詳細データにアクセスしたり、JavaScript側からAppleScriptにレコードや配列などの高度なデータを返すような処理ができるように
 ・AppleScript用語辞書つきのライブラリの試作開始
 ・アラートダイアログ上に有用なGUI部品を配置したライブラリの提供開始(コードネーム:箱庭ツールス)
 ・sdefの書き方に着手。世界初のムービー/画像/サンプルScript入りsdefが作れるようになった

といったところでしょうか。2018年がTanzakuの部品や研究、AppleScriptからの機械学習の利用などが主な方向だったのと比べると、より一般性の高い部品を作っていたような印象があります。もちろん、Tanzakuの発展機能を実装した小規模な実証アプリケーション「Tanshio」も今年の目玉です。

2019年で一番価値の高いAppleScriptといえば、「Safariで現在見えている表を抽出してCSV書き出しv3」でしょう。Webブラウザ上に見えている範囲のオブジェクトだけを処理対象にする、といういままでやりたくてもできなかった処理ができました。

■2019/1
Pages書類の1ページ目の表の背景色を置換 v4
セキュリティダイアログに表示するメッセージをローカライズする
このあたりは、必要に迫られていろいろ試行錯誤したものですが、macOS 10.14以降のセキュリティダイアログ関連の経験を蓄積しないとこれらのOS上でGUIアプリケーションが作れないので、とても重要です。

■2019/2
アラートダイアログ上にTable View+Map Viewを表示
アラートダイアログ上にちょっとしたGUI部品を並べる「箱庭ユーザーインタフェース」。これまでそうしたユーザーインタフェースは推奨されてきませんでしたが、よくよく見回せばiOSアプリなどこの箱庭ユーザーインタフェースそのもの。だったら、macOS上のAppleScriptでそういうものを作ってもいいと割り切って作ってみた次第です。

■2019/3
青空文庫のテキストのルビタグを超高速削除
720KBのテキスト置換を数秒で行う、現時点でのCocoaの機能を十分に活用した、1つの到達点です。普通にtext item delimitersで置換していただけでは、この規模の処理は数時間かかることでしょう(一晩かけても終わらないかも)。

■2019/4
RectangleBinPackを用いて2D Bin Packを解く
Appleがいまだに直さないPDFViewのバグを回避する
2D Bin Packは昔からクリアしておきたいと思っていたテーマです。PDFViewというかScripting Bridgeのバグには困らされまくりです。

■2019/5
矩形座標同士の衝突判定(共通部分の検出) v3b
GET method REST API v4.3
このあたりは順調に機能を積み上げて到達した処理です。地道に機能を積み上げて、もう少しで別のレベルに行けることでしょう。

■2019/6
与えられた文字列の1D Listのすべての順列組み合わせパターン文字列を返す v3
macOS 10.15 Beta Release Notesに将来のmacOSでPython、Ruby、Perlなどのランタイムが含まれなくなることを告知
データの照合処理で必要になってくる(場合もある)順列組み合わせ計算。自分で書いた処理だけでなく他人の書いた処理も参考にしてパワーアップしました。他のScript言語処理系がデフォルトでインストールされなくなるかもしれないという件、OSプラットフォームとしての魅力が下がるのでやめてほしいんですが、そういう決定をするならするで、AppleにはAppleScriptの処理系をもっと大事にしてほしい気がします。

■2019/7
クリップボードに入れたIllustratorのオブジェクトをQRコード認識 v2
構文色分け情報を取得(Color Spaceを考慮)
QRコード認識は以前からいろいろやっていますが、実戦で使ってみると予想外の事態に直面します。想定外であれば想定外なりに対処した、というのが自動スケールアップ+QR認識機能です。
一方、AppleScript書類の構文色分けに基づく構文要素処理も機能を積み重ね、もう少し熟成(部品単位での使い回しを向上)させると普通にありふれた部品として使えるようになることでしょう。ライブラリ化してsdef付けて呼ぶぐらいこなれるとよいことでしょう。

■2019/8
display YouTube Script Library
JavaScriptCore経由で関数計算を行うcalcLibASをアップデート
冗談の産物display youtubeに、冗談で作ったcalcLibJS(JXAで作った)のあまりの不安定さに音を上げて作り変えたcalcLibAS、そして高速化改良を加え、sdefをつけて予約語で呼び出せるようにしたcalcLibASは、冗談から生まれて下手に実用性が出てしまったものです。冗談で作ったものが意外な発展を遂げるというのは、よくある話です。

■2019/9
指定アプリケーションの指定言語のstringsファイルの内容をすべて取り出す
Safariで指定のDOM Elementの情報を取得する
やらなくてはならない処理ばかり書いていると「やりたい処理」も書きたくなるもので、Safariを経由してJavaScriptの実行結果をAppleScriptで利用しやすくする処理を書いておきました。これが、今年一番の「Safariで現在見えている表を抽出してCSV書き出しv3」へとつながります。

■2019/10
CotEditorのScript集、PowerPack & Basic Packをv2.0にアップデート
sdef(AppleScript用語辞書)に画像やムービーを入れる
CotEditorの最前面のドキュメントの選択範囲を伏せ字に
CotEditorのPowerPackは、実際に作ってみていろいろ発見がありました。無償配布のScript集なんて作る意義はほとんど感じないものですが、これは事実上Tanzakuの部品や実装の習作でもあります。
sdefに画像やムービーを入れた例は目にしたことがありませんでしたが、「applescript://」リンクURL入りのサンプルScriptや画面スナップショットが入っているsdefを見ると、逆に入っていないものに違和感を覚えるほどです。

■2019/11
Safariで現在見えている表を抽出してCSV書き出しv3
checkboxLib v2
今年書いた中で、そしてここ数年で一番のScriptです。こういうレベルの処理が書きたかったものの、手がかりが見つからずに着手していませんでした。Webコンテンツの処理で「実際にWebブラウザで見えている範囲のものをピックアップする」のはやりたかった処理です。
checkboxLib v2は、はじめてムービー入りのsdefを同梱したライブラリです。実際にやってみると面白いものの、ムービーまでやらなくていいと感じます。

■2019/12
Double PDFを作り直して、Scripting Bridgeのバグを回避したと思ったら、PDFViewではNotificationもバグっていて表示中のページ変更のノーティフィケーションでページのノンブル変更できず、もう最初から最後まで表示中のページを自前で管理するなど「それってゲームプログラム?」ともいうような作りになってしまいました。

腹いせにVer.2はDouble PDFを30言語ローカライズして審査に回しました。ステータスが審査中になっても、数日返ってきません。言語リソースが増えると審査に余計に時間がかかるのでしょうか?

Posted in news イベント(Event) | 5 Comments

[作業中]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

Chris EspinosaがAppleScript 25周年を祝うTweetを投稿

Posted on 10月 5, 2018 by Takaaki Naganoya

On this day 25 years ago, Apple introduced AppleScript, a system and application automation system and language. It’s still shipping in Mojave and is one of the oldest code bases in continual use in macOS. Happy birthday, AppleScript! pic.twitter.com/ymijJ8mMa1

— Chris Espinosa (@cdespinosa) October 4, 2018

社員番号8番で、Developper Tools担当を長年務め、いまはHome Kitを手がけていると噂されている、AppleScript系の開発者にはおなじみのChris EspinosaがAppleScriptの生誕25周年を祝うTweetを投稿していました。

Posted in news | Leave a comment

イベント「Think AppleScript」盛会のうちに終了

Posted on 9月 26, 2018 by Takaaki Naganoya

2018年9月26日、池袋で開催したイベント「Think AppleScript」、参加者12名で盛会のうちに終了しました。

お越しいただいた皆様、お忙しいところをありがとうございました。まずは、お礼までに。

電子書籍「AppleScript 10大最新技術」をベースにAppleScriptの歴史や成り立ち、これまでの経緯を説明し、Newt Onや最新のTanzaku、あるいはAppleScriptで作成したMac App Storeで販売中のアプリケーション「Double PDF」などについてデモを行いました。

電子書籍「AppleScript最新リファレンス」掲載のiOSデバイスとのAppleScriptによる連携をご紹介したところ、出席者から驚きの声が上がっていました。

Posted in news | 2 Comments

Blogアーカイブ本 既刊3冊にTOCアップデート

Posted on 8月 19, 2018 by Takaaki Naganoya

AppleScriptの穴Blogアーカイブ1〜3が、よりパワーアップ。TOC(しおり)を付加していっそう読みやすくなりました(読みにくくなくなりました、の間違い?)。

Blogアーカイブ本をBOOTHからダウンロード購入された方は、再度ダウンロードを行ってみてください(再購入の必要はありません)。

また、今回のTOCアップデートは目次を持たないアーカイブ本への目次追加の措置であり、TOCはないものの目次がついている他の既刊本はその対象ではありません。

昨日のうちに再ダウンロードしてくださった方、ごめんなさい。その時点ではまだアップデートしていなかったんです、、、

Posted in Books news | Leave a comment

Post navigation

  • Newer posts

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

Google Search

Popular posts

  • シンプルな文字置換
  • Apple Creator Studioに含まれるKeynote/Pages/Numbersは新バージョン?
  • 最初期に書かれた書籍「AppleScript道入門」の序文をいま振り返る
  • 簡易カラーチャート画像の出力 v2.1
  • 指定フォルダ内から指定拡張子のファイルを取得し、エイリアスだったらオリジナルのパスをPOSIX pathで取得
  • ASCII ART QR Encoder
  • macOS 15.7.2 スクリプトメニューから実行できなくなった地図系ライブラリ?
  • MacBook Air/MacBook Proのディスプレイ開閉角度を取得
  • 「AppleScriptセキュリティ実践ガイド」を発売
  • 各種GUIアプリ書類のオープン速度を向上するためにUIアニメーションの一時停止を
  • Keynote->Keynote Creator Studio(以下同様)
  • Finder上で選択中のHEIC画像から位置情報を削除_v5
  • 翻訳テスト
  • FSFindFolder failed with error=-43
  • YouTubeムービー再生実験
  • 2025年に書いた価値あるAppleScript
  • 関数計算ライブラリで一部のユーザーから再現しない問題が報告される件
  • ワークスペース切り替えv2.1
  • YouTubeムービー再生実験 v2c
  • macOS 26.xのSystem Events/Screen Saver preferencesにバグ

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (440) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (173) 26.0savvy (52) CotEditor (68) Finder (53) Keynote (123) 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 (80) Pages (58) Safari (45) Script Editor (28) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • Apple Inteligence
  • 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
  • date
  • 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
  • Newt On Project
  • NFC
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • 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
  • Scripting Additions
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spaces
  • Spellchecker
  • Spotlight
  • SVG
  • Swift
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2026年10月
  • 2026年9月
  • 2026年8月
  • 2026年7月
  • 2026年6月
  • 2026年5月
  • 2026年3月
  • 2026年2月
  • 2026年1月
  • 2025年12月
  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 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