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

カテゴリー: 未分類

MOSAミーティングで新プロジェクト「Tanzaku」を発表

Posted on 9月 22, 2018 by Takaaki Naganoya

2018年9月21日にニュー新橋コワーキングにて行われた「新しいMOSA」スタート・ミーティングにおいて、Piyomaru Softwareの新プロジェクト「Tanzaku」を発表しました。

Tanzakuは「ファイル名に処理してほしい内容を書くと、そのとおりに動く」プログラムであり、まとまった操作を行うのにAppleScriptやshell scriptを書くことなく、実行したい内容をファイル名に書くだけで実行できるようにするものです。

2002年発表の「Newt On」(自然言語ユーザーインタフェース)や2003年発表の「符令韻投句」(日本語音声認識インタフェース)などと並ぶレベルの画期的なアイデアとして発表。開発中のバージョンの動作デモを行いました。

→ TanzakuのKeynote資料

(Visited 56 times, 1 visits today)
Posted in 未分類 | 1 Comment

CotEditor 3.5でウィンドウの透明度コントロール機能がなくなる

Posted on 9月 15, 2018 by Takaaki Naganoya

CotEditor v3.5で機能に変更があり、「CotEditorでウィンドウの透明度を連続的に変更する」のようなScriptが実行できなくなりました。AppleScript側からウィンドウの透明度をコントロールするための予約語「view opacity」が廃止されました。

予約語が廃止されたときにどういう状態になるのか、という事例として掲載しておきます。

保存ずみの同Scriptをオープンすると、

のような表示になりました。この状態でコンパイル(構文確認)を行うと、

のようにエラーになります。

CotEditorのAppleScript用語辞書をHTMLに書き出してdiffで差分を計算すると、

たしかにview opacityが削除されていることが確認できます。

ただし、アプリケーションの機能としてウィンドウの透明度設定は行えるので、エディタとしての使い勝手は(あまり)変わりません。AppleScriptから透明度をコントロールできないと困ることがあるかと考えると、とくに困ることはありません。

(Visited 44 times, 1 visits today)
Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy CotEditor | Leave a comment

イベント「Think AppleScript」の参加募集を開始

Posted on 8月 31, 2018 by Takaaki Naganoya

2018年9月26日に池袋で行うイベント「Think AppleScript」の参加募集を開始いたしました。質問だろうが、自慢だろうがなんでもOKですので、この際にぜひお集まりください。

→ 申し込みページ

(Visited 28 times, 1 visits today)
Posted in 未分類 | Leave a comment

本気で使うといろいろ粗が見えてくるScript Debugger

Posted on 8月 13, 2018 by Takaaki Naganoya

込み入った案件で必要になって、Script Debugger 7を購入しました。Adobeの大型アプリケーションのオブジェクト階層を調査したい場合にはScript Debuggerを使わないのは自殺行為です。

その反面、Xcodeの外部エディタとして使うなら、まだASObjC Explorer 4のほうが使い勝手がいいし(Xcode上で外部エディタを指定してscriptを再編集するとxibファイルのトラブルなど諸問題が解決するのに、Script Debuggerだと解決しない)、クラッシュの頻度もややScript Debuggerのほうが高い気がします。

本気で組んだ仕事用のAppleScript相手だと、Script Debugger上で作って、Script Debugger上で動作させるだけなら問題はないのですが、アプレットを書き出して実行させるあたりで疑問符が出てきます。

AppleScript上で何かの予約語が存在していた場合に、「どのアプリケーション、どのScript Libraries」の用語辞書から使用したものなのかをusing terms from句で囲ってこまめに宣言しておかないと、書き出したAppleScriptアプレットを起動しようとしてもクラッシュします。

# しかも、Scriptのサイズが小さい場合にはクラッシュせず、大きくなるとクラッシュするという、、、

また、using terms from句で囲むさいにはuse宣言で代入したプロパティが使えず(using terms from bPlus とか)、using terms from script “BridgePlus”のように書かないとScript Debugger上で構文確認が通りません(こちらはAppleScript処理系そのものの動作の癖?)。

さらに、「anything」(≒”any”)という(Appleに)いい加減に実装されてきた予約語を、さまざまなライブラリで別々に(ちゃんと)実装していたりすると、Script Debugger上での構文確認時に「どのアプリケーションの予約語なのか分からないぞ」というワーニングメッセージが出ます。これ、ダイアログで表示するなら、リストから選択させるとかいった動作の方がいいと思います。

このあたり、Apple純正のスクリプトエディタやASOBjC Explorer 4(現在はScript Debuggerと合流)では確認していない現象ですが、Script Debuggerを使っているかぎりはこまめにusing terms fromで囲う必要があるようです。

(Visited 45 times, 1 visits today)
Posted in 未分類 | Tagged 10.12savvy Script Debugger | Leave a comment

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

Posted on 7月 16, 2018 by Takaaki Naganoya

ごく一部の愛読者の皆様からのご要望を受け、2018年1月のBlog消滅以前の内容を1年ごとにまとめた「Blogアーカイブ本」のVol.2を販売開始しました。Vol.2は2009年1〜12月の内容をまとめています。全367ページ、2,000円。ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。

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

XcodeプロジェクトのダウンロードリンクやYouTubeのムービーへのリンクもきちんと反映し直しています。

続刊のボリューム感については、(最低でも)こんな感じです。

 vol.3:2010/1〜12(仮組みページ数:247)
 vol.4:2011/1〜2012/12(仮組みページ数:372)
 vol.5:2013/1〜2014/12(仮組みページ数:276)
 vol.6:2015/1〜12(仮組みページ数:320)

■Vol.2 掲載AppleScript(全184本)

Photoで特定のアルバムに入っている写真の枚数をカウントする
iPhotoで写真のファイル名に合致する写真を取得する
iPhotoで、複数名称による写真指定を行う例(できない)
Numbersでオープン中のドキュメントを数える
Numbersでウィンドウを数える(動作がおかしい)
Numbersでウィンドウの情報を取得する
Numbersのアプリケーションのプロパティを取得する
Numbersで書類を保存する
pdfinfoを使ってPDFのページ数をかぞえる
Numbersで統合された選択セルを元にもどす
CaminoでWindow 1の情報を取得する
Caminoで新規ウインドウで指定URLをオープン
CaminoでBookmarkを操作するテスト(駄目)
変数やサブルーチン名称に日本語を使用する
QuickTime Playerがバージョン7.6にアップデート
Xcodeでオープン中のプロジェクトで、ビルドターゲット「deployment」を使用してクリーニング実行後、ビルドを行う
入れ子のリストをフラット化v01
入れ子のリストをフラット化v02
入れ子のリストをフラット化v03
指定階層下で、指定クリエータコードのファイルを取得
SkimでPDFの各種情報を取得する
Skimで注釈(note)を削除する
Numbersで選択範囲を取得
Nunbersで選択範囲の値を取得
Numbersで指定範囲を選択
Preview.appで最低限のScript命令実行機能をイネーブルに
Excel 2008でX軸方向に右端から、データが存在しているセルをサーチ
GUI Scriptingによる記述(1)
Shade 10でレンダリングを行う
GUI Scriptingによる記述(2)
GUI Scriptingによる記述(3)
pdfinfoの結果をparseするv2
Shade 10でドキュメントを保存する
Shade 10で新規ドキュメントを作成
Shade 10でsceneをDXF形式で書き出す
リスト中で重複を検出する(大文字小文字を同一視)
Font Bookで指定フォントのファイルがどこに置かれているかを検知する
diskutilitiesで起動HDDのユーザー権限修復
Font Bookで指定typefaceの詳細な情報を取得する
アプリケーションに命令を行う記述方法で最短のもの
Safariのダウンロードフォルダを求めるv1
Safariのダウンロードフォルダを求めるv2
Safariのダウンロードフォルダを求めるv3
Safariのダウンロードフォルダを求めるv4
アドレスブックで表示中のPersonに画像をTIFF変換して読み込み
アプレットをコピーしてリネーム v2
指定文字列ではじまるプロセスをすべて終了させる
指定ファイルがバンドル形式のアプレットかどうかチェック
ソート用のカラムを生成する
複数リストの合成
version テスト
指定名称のプログラムを強制終了させる
数値を「時間」「分」でフォーマットしたテキストで返す
MacJournalでアプリのプロパティを取得
MacJournalで書類のプロパティを取得
MacJournalでキーワード検索状態を解除
MacJournalで選択中のjournal entryを取得する
MacJournalでjournalを選択UIを表示しつつ表示
MacJournalで任意のjournalをロックする(未遂)
国民の祝日を求めるv2
リスト中から重複項目をリストアップする
現在日時から曜日を番号で返す
リスト内のアイテムへの項目追加
contains/is inによる存在確認は、入れ子のリストに使えない
Photoshop Elements 6のAS辞書はPhotoshop CS3と同じ
入れ子のリスト内のis in/containsによる存在確認
某氏のtwitter上の発言を集めてテキスト化
twitter検索結果のJSONをparseする
6/13にTMUGのMeetingで新作「Moving Agency」をデモ
FireFoxでオープン中のURLを取得する
FireFoxでオープンしているURLを取得。Leopard対応版
郵便専門ネットでバージョン番号を取得
郵便専門ネットでXML-RPC経由でJISコード(5桁、6桁どちらでも)から、その市区町村に属している郵便番号のリストを取得
郵便専門ネットで道府県のコード(地方公共団体コードの先頭2文字)から都道府県名を返す
郵便専門ネットでXML-RPC経由で郵便番号に対応する世界測地系(WGS84)の緯度経度コード(Geocode)を返す
郵便専門ネットで一度に取得できるデータ件数を返す
郵便専門ネットでXML-RPC経由で引数に都道府県のJISコード(JISコードの先頭2文字)を渡すと、その都道府県に属しているJISコードを取得
郵便専門ネットでXML-RPC経由で郵便番号から住所を返す
郵便専門ネットで郵便番号の存在チェック
郵便専門ネットで引数に指定した郵便番号で何件ヒットするのかをint型で返す
郵便専門ネットでXML-RPC経由で郵便番号を6桁(チェックデジット付き)の全国地方公共団体コード/JISコード/市町村コードに変換
WordPress.comが受け取るXML-RPCのメソッド名一覧を取得する
ファイルの安全な書き出し
AppleScript Studioを念頭に置いたライブラリ整備
WordPressのBlogに画像ファイルをアップロード
Safariで表示中のページ内容をMacJournalの現在選択中のJournalにペースト
Diary++Xでアプリの情報を取得
Diary++Xでドキュメントの情報を取得
Diary++Xで指定カテゴリ内のアーティクルを取得する
XcodeでクリーニングしてビルドしてZip圧縮
指定月の第x指定曜日に該当する日付を求める(曜日数値指定対応)
国民の祝日を求める v4
指定年月の祝日の日を数値のリストで返す
Twitterrifficで選択中の発言の時間をGrowlで表示。アイコン付きで
URL Access Scriptingにファイル名の32文字制限が
Twitterifficで選択中の発言の時間をGrowlで表示。アイコン付きで v3
AppleScriptで開発を行うユーザーアカウントにATOKは禁物
Google Chrome BetaがAppleScriptに非対応
国民の祝日を求め__指定期間に該当するものを返す
もんのすごいざっくりな元号計算ルーチン
指定月のうち、日曜日に該当するものを日付だけ返す
1年間の各週の開始日と終了日を求める(月曜日はじまりカレンダー)
ファイル名文字列から拡張子のみ取得する
日曜日はじまりのカレンダーで指定月が何週分あるか行数を数える
指定年の各月の開始日と終了日を算出する
指定フォルダ内の指定種別(kind)のファイル一覧を取得
指定アプリケーションのAppleScript予約語をリストアップ
メールの返信文1行目のテキストからメールアドレスを抽出する v1
メールの返信文1行目のテキストからメールアドレスを抽出する v2
メールアドレスチェック
Snow Leoaprdでスクリプトエディタが「AppleScriptエディタ」に
Snow LeoaprdのAppleScriptに関するリリースノート
Snow LeopardのAppleScriptに関するリリースノート(2)
指定フォルダ内の指定種別(kind)のファイル一覧を取得
指定アプリケーションのAppleScript予約語をリストアップ
メールの返信文1行目のテキストからメールアドレスを抽出する v1
メールの返信文1行目のテキストからメールアドレスを抽出する v2
メールアドレスチェック
Snow Leoaprdでスクリプトエディタが「AppleScriptエディタ」に
Snow LeoaprdのAppleScriptに関するリリースノート
Snow LeopardのAppleScriptに関するリリースノート(2)
リスト中の要素の存在確認(10.6以降)
10.6でtext item delimitersがリストで指定可能に
QuickTime PlayerのXと7を区別して命令を発行する
Diary++Xで最近の日記本文をもとに今日の日記を新規作成する
Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v2
9/19にホスティングサービス側の都合で5分間ダウン
Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v3
Sin Cos演算ルーチン
AppleScriptObjCのドキュメント公開が開始される
リスト中の要素の存在確認(10.6以降)
10.6でtext item delimitersがリストで指定可能に
QuickTime PlayerのXと7を区別して命令を発行する
Diary++Xで最近の日記本文をもとに今日の日記を新規作成する
Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v2
9/19にホスティングサービス側の都合で5分間ダウン
Diary++Xで最近の日記本文をもとに今日の日記を新規作成する v3
Sin Cos演算ルーチン
AppleScriptObjCのドキュメント公開が開始される
Mail.appの指定メールボックス内に任意のメールボックスを新規作成 v2
テキストによるプログレスインジケータ作成 v2
LateNight SoftwareのMark Alldrittが自社製OSAXの64ビット非対応について言及
whoseによるフィルタ参照
Cyberduck 3.3b4がAppleScriptに非対応
全角文字から半角文字への置換
System EventsでDockの設定を取得、変更する
Diary++X v1.1以降で日付を指定して日記アーティクルを作成
Xcode 3.2.1でAS用語辞書が大幅拡充
URL形式の文字エスケープを行う
リスト中に入っている指定要素をサーチして、合致した出現アイテム番号を返す
指定文字列の中に特定の文字が何回出現するかをカウントして返す
InDesign CS3のuser interaction levelを取得、設定する
テキスト中の任意の順番の文字取り出し Mac OS X 10.4.11への対応
Xcode 3.2.1でアプリケーションの情報を取得する
Xcode 3.2.1でプロジェクトの属性情報を取得する
10.5以降でRemote AppleEvent操作時にdisplay dialog等を使えない
AppleScriptの文字列比較(1)
AppleScriptの文字列比較(2)~considering, ignoring
AppleScriptの文字列比較(3)~濁点/半濁点の考慮/無視指定
AppleScriptの文字列比較(4)~日本語の大文字/小文字
AppleScriptの文字列比較(5)~句読点の考慮/無視
等号つき不等号の同義語
System EventsでScreen Saverの設定にアクセスする
Web共有がオンになっているかどうかを検出する
AppleScriptObjC-Dev MLが新設された
System Events経由でQuickTimeムービーにアクセスする2
System Events経由でQuickTimeムービーのannotationにアクセスする
擬似的にPropertyファイルを使ってカウントアップ
cyberduckでファイルのアップロード
AppleScriptObjc 3分間クッキング
指定の大きさでカラのリストを作成する
クリップボードに入っている情報の改行を外してクリップボードに書き戻す
PlistファイルをParseして返す
選択したアプリケーションのInfo.plistを読んで、実行バイナリの名称を取得する
オブジェクトの複数同時指定
指定フォルダ中のファイルを消してフォルダだけ残す
指定フォルダの中のフォルダをオープン
Excel選択範囲から各種文字列長のデータをピックアップ v6
Photoshop CS3で指定エリアを切り出して新規保存
指定値を構成するペアの全パターンのリストを求める
連続する文字(たぶんスペース)を1つにまとめる
指定文字列の中に指定文字が何回出現するかカウントする
伏せ字文字列を返す
指定日に在任中の内閣総理大臣の氏名を取得 v2

(Visited 26 times, 1 visits today)
Posted in 未分類 | Leave a comment

noteのオンラインマガジン「猛者」に新規Noteを寄稿(4)

Posted on 7月 11, 2018 by Takaaki Naganoya

オンラインマガジンApp Engineer Journal “猛者”(モサ)に「Appleを倒すメーカーを作ってみよう」「Apple Watchの打倒のしかた(上)」を寄稿しました。

(Visited 24 times, 1 visits today)
Posted in 未分類 | Leave a comment

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

Posted on 7月 9, 2018 by Takaaki Naganoya

ごく一部の愛読者の皆様からのご要望を受け、2018年1月のBlog消滅以前の内容を1年ごとにまとめた「Blogアーカイブ本」のVol.1を販売開始しました。Vol.1は2008年3〜12月の内容をまとめています。全418ページ、2,000円。ファイル形式はPDFで、キーワードによる全文検索や印刷が行えます。

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

2014年以前の巻については、Cocoaの機能をほとんど使っていないので、Cocoa Scriptingについてはわからないとか、Cocoa Scriptingになじめない方には「Cocoaを使わないやりかた」が説明されている、現時点では数少ないまとまった参考文献になるはずです。

続刊刊行スケジュールについては、「できた分から」としか言いようがありませんが、各巻のボリュームについては、

 vol.2:2009/1〜12(仮組みページ数:332)
 vol.3:2010/1〜12(仮組みページ数:247)
 vol.4:2011/1〜2012/12(仮組みページ数:372)
 vol.5:2013/1〜2014/12(仮組みページ数:276)
 vol.6:2015/1〜12(仮組みページ数:320)

といったところです。価格は一律2,000円です。当初は日本語版だけですが、英語版も出せるといいですね。Vol.5/6については、Cocoa Scriptingがわからないと手が出しづらいので、Cooca Scriptingの入門資料を添付することも検討中です。

■Vol.1 掲載AppleScript(全262本)
5桁の乱数を生成
指定アプリの存在確認
BSDサブシステムの存在確認
リストから重複部分を除外(ユニーク化)
春分の日と秋分の日を求める
自分の(インターネットアクセス時の)IPアドレスを調べる
起動中のアプリのうちScriptableなものをリストにして選択
起動ディスクの空き容量を返す
リストの内容を乱数でシャッフル
CPUのクロック数だけを求める
与えられたリストから、値がヌルの要素を削除して返す
最小値を取得する1
最小値を取得する2
最小値を取得する3
文字列中の最長Wordを返す
リストをテキストに
リストのスイープ
Automator集計
chooseFromListでアイテム番号を返す
OSのバージョンを求める
リストを任意のデリミタ付きでテキストに
文字列のアルファベットチェック
拡張子を取得する
日本語URL Encoding
指定年月の長さを求める
指定文字を置換(リプレース)
国民の祝日を求める
時分秒をシステム設定と関係なく一律に取得
プロセス名一覧を取得
指定フォルダまで強制的に作成
指数表示数値を文字列化
Safariの選択部分のテキストを取得する
各種情報取得
デフォルトの出力先のプリンタ名称(キュー名称?)を取得
リストをタブ区切りのテキストに変換
MacのハードウェアのシリアルNoを取得
BluetoothのOn、Off
リスト中の指定要素をサーチして削除して返す
ACで動いているかDCで動いているかを取得する
指定クリエータのアプリケーションの情報を返す
最前面のFinderウィンドウのアイコンサイズを取得する
リスト中の全要素が同じかどうかをbooleanで返す
指定矩形内に含まれるデータをリストで返す
URLエンコードされたファイルパスを元のテキスト(POSIX Path)に戻す
Desktop Windowの大きさを取得してメインモニタの大きさを得る
RSS用のRFC822形式の日付を返すv2
OSのバージョンを求める5
ユーザー名をLong Formatで取得する2
リスト内のアイテムへの項目追加
リスト項目の並べ替え
指定のiDiskをマウントする
OSのバージョンの2桁目(メジャーバージョン)を取得
イベント継承実験1
文字列中のピリオドの個数を数える
ISO形式の日付をdateオブジェクトに
twitter.comの更新
Zipでフォルダ構造ごと圧縮
指定キーワードの出現回数のカウント
System UI Soundが有効になっているかどうかをチェック
指定桁でゼロパディングしたファイル名を返す
set the beginning of
データのhexダンプ_v2
entire contentsをalias listで取得する
10.4.9〜10.4.11でバージョンが10.4.9と返ってくるバグを回避するOSバージョンの取得方法
今日の日付をYYYYMMDDで求める
指定文字列を指定バイト数以内に収める
画面のサイズを取得するらしい
リストのCSV書き出し
list sort
インターネット接続確認
ファイルの各種情報を取得する
指定の文字エンコーディングでファイル書き出し
1月分のワークログ作成(祝日反映版)
1月分のワークログ作成(iCal連携Ver)
Omni Outlinerでドキュメントの全行削除
クリップボード中のテキストから、行単位にトピック作成
最前面のOmniOutliner書類をDHTMLでデスクトップにExport
Terminalで同じパスの画面をもう1枚ひらく
ターミナルのcurrentをFinderでひらく
Finderの最前面のパスをTerminalで開く(強化ver4)
iPhotoで選択中の写真をデスクトップピクチャに設定
Finderで作成したZipアーカイブを展開してオリジナルのアーカイブを削除する
指定ファイルがTIFFで128×128であれば、icnsファイルに変換する
10進数をn進数文字列に変換する
自分用のtempoary folderをtmporary items foder(user domain)に作成する
指定のAutomator Workflowのファイルを実行する
File Busyが解除になるのを待つ
指定プロセスの可視_不可視切り替え
文字列の前後から別々の文字を指定してトリミング
Menu Xtraに入っているアイテムの一覧を取得する
再帰でファイルをカウント
parseByDelim:指定デリミタで文字列をリストに変換
OSバージョンの各桁を求める
警告を出しつつ再起動
時間フォーマットをhh-mm-ssからsに変更
GUI Scriptingをenableに
GUI Scriptingをdisableに
ワイヤレスキーボードのバッテリ残量を得る
指定フォルダ内に指定ファイルが存在するかどうかをチェック
OSのバージョンを求める2
OSのバージョンを求める3
OSのバージョンを求める4
OSのバージョンとビルドNoを求める
対象文字列の中で、特定の文字以降を取得
Front Rowが実行中かどうかを調べる
iCalでReadOnlyではないカレンダーの番号を取得
指定のタグを外す
数字の間に入っているゴミを除去
アルファベットを大文字 or 小文字に変換する
アルファベットの大文字か小文字かを検出する
電池容量を取得
iTunesでどこのIPからライブラリを共有されているかを検出
印刷可能なプリンタ一覧から選択してプリント実行
指定のAutomator Workflowのファイルを実行するv2
Dockの制御
Skypeのバージョンを求める
Skypeで接続状態を取得する
Skypeで指定IDの人に音声コール
Skypeでチャットメッセージを送信
Skypeで最近のチャットメッセージをリストアップ
Skypeでユーザー権限を取得
Skypeでフレンズを検索
Skypeでセルフテスト
Skypeでオンライン中の人間の数を取得する
Skypeでオーディオ出力設定を取得
SkypeでUser Statusを求める
SkypeでStatusを変更
SkypeでP-STNの状態を得る
Skypeでauthentication待ちのユーザーをリストアップ
Google Earthで現在表示中の画面のスクリーンショットを撮るv1
Google Earthでバージョン情報を取得
日本語入りテキストのURLエンコーディング
Systranで翻訳
Mail.appでAccountの情報を取得する
Mail.appで新着メールを確認する
Mail.appで新着メールの確認インタバルを変更する
Mail.appで選択中のメッセージから迷惑メールフラグの状態を取得する
添付ファイルのダウンロード先を求める
選択中のメッセージの実ファイルが存在する場所を取得するv3
URL Access ScriptingでDL
GUI Scriptingの確認
JPEG画像の破損チェック
Safariの選択部分のテキストを取得する
SafariでオープンしているWindowをすべてクローズする
指定文字列の中に指定リストの各アイテムが含まれているかをチェック
rmコマンドで指定フォルダ内のファイルの強制削除
modemでダイヤルする
modemでダイヤルする2
エイリアスをDockに追加する
入り組んだリストの中に指定要素が存在するかどうかをチェック
指定の名称およびバージョンに該当するアプリケーションプロセスが起動しているかどうかをチェック
Database Eventsでパスを指定してDBを作成する
Database Eventsを終了する
Database EventsのQuit Delayを指定
Database Eventsで、すべてのDBをクローズして終了
Database Eventsで、既存のDBを指定してオープンする
Database Eventsを起動して、オープン中のDBを数える
画像の縦長横長を見てフォルダ仕分け
リストをレコードに
レコードから特定要素を取り出し
Safariのウィンドウを画面いっぱいに拡大する
スクリプトエディタ上のキャレットがある行に、ファイル名をコメントで展開
指定文字列の中に指定リストの並びが含まれているかをチェック。含まれていたら起点のアイテム番号を、ない場合にはfalseを返す
指定文字列の中に指定リストの並びが含まれているかをチェック。含まれていたら起点のアイテム番号を、ない場合にはfalseを返す v2
テキストから余計な空白行を削除する
リストを任意のデリミタ付きでテキストにv2
画面スナップショットのファイル形式を変更
Acrobat Professionalでしおりを作成(文字化け)
Pagesの最前面のドキュメントを閉じてラベルを付ける
Acrobat Professionalでしおりを数える
Acrobat Professionalでしおりを全消去
Acrobat Professionalで指定ページに移動
フォルダ同士の内容比較
ファイルのMac OS形式のフルパスのテキストから、ファイル名のみを取得
バージョン番号文字列からメジャーバージョンのみ取り出し
クリエーターコードを指定してアプリケーションを起動する
QuickTime Playerで録音を開始する
QuickTime Playerで録画を開始する
ヨドバシ.comのWebの画面に表示されている200×200ピクセル以上の画像をダウンロードする v2
指定アプリのメインウィンドウのサイズを返す
指定フォルダ内の指定ファイルを削除
真偽値の反転
指定のディスクイメージが暗号化されているかどうかを判定する
ファイルのコピーをshell scriptで実行
uuidgenでユニークな(重複のない)文字列を取得
アクティブウィンドウのアクティブセルの値を取得
現在の列のセル幅を変更する
現在の行のセルの高さを変更する
空のplistファイルを指定パスに作成する
空のplistファイルを指定パスに作成するv2
PDFのページ数を数える
dateコマンドから生成した日付テキストから、ASのdateオブジェクトを生成する
active cellが属するentire rowを取得する
Unionコマンドで複数の範囲を同時に使う
条件を指定してセルを抽出する
指定セルの値を取得/設定する
セルの文字列を取得する
Bubble Sortでリストをソートする
Insertion Sortでリストをソートする
挿入ソートを入れ子のリストに対して行う(ソートキー項目指定つき)
シェルソート
shell sortで入れ子のリストをソート
奇数かどうかチェック
曜日リストの並び順をチェック
曜日リストの並び順をチェック v2
iCalに「日本の祝日」を追加
MindManagerで、ルートトピックを選択状態にする
Excelで、バージョンに依存しないで選択範囲のデータ取得
指定の数値リストを作成する
データが数値かどうか調べる
カレンダーのインクリメント/デクリメント
ポップアップメニュー項目の高速生成
MACアドレスを取得する(Mac OS X 10.5のバグ回避版)
指定日に在任中の内閣総理大臣の氏名を取得
数値テキストに対して指定桁ごとにセパレータ文字を入れる
リストから選択してアイテム番号を返す
リスト中の複数の指定要素を削除して返す
1年分のカレンダーリストを作成
1年分のカレンダーリストを作成して指定日が何週目かを求める v1
1年分のカレンダーリストを作成して指定日が何週目かを求める v2
1年分のカレンダーリストを作成して指定日が何週目かを求める v2.1
DragThingで表示しているDock名称を取得する
DragThingの特定のDock中で現在選択中のレイヤーを求める
DragThingで、最前面のDock上で現在選択されているレイヤーの名称を返す
リストの一部を取り出す
デスクトップ上のピクチャファイルを指定フォルダに移動
Keynoteでslideの情報を取得する
10.5で(登録してある)プリンタ名称の一覧を取得するv1
10.5で(登録してある)プリンタ名称の一覧を取得するv3
ColorSync Scriptingで各種情報を取得
アドレスブックで所有者の情報を取得する
アドレスブックで選択中のPersonの情報を取得する
FM v7〜9で、オープン中のデータベースを数える
オープン中のデータベースの中にあるテーブル数を数える
オープン中のデータベース中のテーブル1にあるフィールドを数える
オープン中のデータベースのレイアウト(画面)を数える
オープン中のデータベースのレイアウトの名称を取得する
オープン中のデータベースで条件検索(複数条件)
オープン中のデータベースでソート
Microsoft Office 2008用の「VBAからAppleScriptへの移行支援ガイド」が公開
10.5で暗黙のキャストが行われなくなった例(getMLen)
OmniPlanでWindowの情報を取得する
OmniPlanでドキュメント内のプロジェクトを数える
リストの重複項目を除去、リスト2つ同時バージョン
Excel v.Xで新規ドキュメントを作成して任意のワークシートを作成
Excel v.2004/2008でウィンドウの最大化
Excel v.Xで最前面のウィンドウを最大化する
Excel v.2008でウィンドウ枠の分割を固定
International Settingsの言語で第一優先になっているものを取得
指定フォルダにあるテキストとZipアーカイブのリストを取得。エイリアスで v0
指定フォルダにあるテキストとzipアーカイブのリストを取得。エイリアスで v1
指定フォルダにあるテキストとzipアーカイブのリストを取得。エイリアスで v2
度数分布のテキスト出力
指定フォルダにある特定のラベル(複数)のファイルのリストを取得。エイリアスで
MindManagerで、ルートトピック以外のトピックをすべて取得
指定フォルダにある特定の書類種別(複数)のファイルのリストを取得。エイリアスで
特定の文字ではじまるリスト要素を削除して返す
与えられたURLからファイル名を取り出す
単純ダウンロード
クリップボードに入っているURLのファイルをダウンロード
POSIX pathからクォート記号を除去する(unquote)
ファイル名から拡張子を外す

(Visited 36 times, 1 visits today)
Posted in 未分類 | Leave a comment

Bash In Tokyoで音声認識コマンドプログラムをデモしてきました

Posted on 6月 17, 2018 by Takaaki Naganoya

6月15日(金)に渋谷で行われた「Bash In Tokyo」にて、急遽作成した音声認識コマンド実行プログラムをデモしてきました。

macOSの「音声認識コマンド」と「音声文字入力」の中間のような動きをしていて、シソーラス辞書(同義語辞書)を搭載しているため、パラメータの表現の「ゆらぎ」を許容する構造になっています。

GUI部分はXcode上のAppleScriptのプロジェクトであり、呼び出されるコマンド側も(編集可能な)AppleScriptのファイルです。現段階では、コマンド側のAppleScriptのファイル名にコマンドとパラメータを記述してあり、音声認識したテキストを形態素解析して、コマンドやパラメータに該当する品詞の単語をピックアップし、コマンド側の単語とのマッチングを行います。

本プログラムを作成する前に「Web APIでチャットボットなんか使えば楽をできるのでは?」と考えて調査はしてみたものの、結論からいえば「雑談暇つぶしボットぐらいしかできない」という印象でした。お金をかけて作り込めばMicrosoft Bot Frameworkにしても、NTT Communicatins 「COTOHA」にしても使えるとは思うのですが、特定のコマンドキーワードを認識したあとは急に業務系アプリっぽい挙動になったり、コマンド実行の演出とかはとくにないので、「自分で作ったほうがマシ」だということに、、、、デモの前日に気づきました。

# つまり、プログラムのコア部分は1日かけずに作ったという、、、、

もうちょっと調整して何かのデモに使ってみたいところです。

(Visited 52 times, 1 visits today)
Posted in 未分類 | Leave a comment

サーバーの移行を行います

Posted on 6月 12, 2018 by Takaaki Naganoya

移行前

Blogのサーバー移行を行います。2018年2月にWordPressの新バージョンに移行した後から、Blogの応答パフォーマンスが低下してきているので(大きな画像をWordPressまかせでサムネール作成させて表示しているのが問題なのか、WordPressそのものに問題があるのか)、高速なサーバーへの移行を行います。

放っておいても8月ぐらいには自動で移行というスケジュールのようですが、またホスティング会社側に全部おまかせで行うと、トラブルが発生すること必至です(状況をまともに説明する能力がないようなので、期待していません)。

なので、一括移行のタイミングよりも前のタイミングで移行の実験を行います。さっそく、1月末のトラブル中に作成したMySQLのユーザーアカウントのうちの1つのパスワードが読み取れないといったエラーが報告されました。

実験用に作成したアカウントだったのでアカウントごと消しましたが、ホスティング会社のWebフォーム上のメニューから作成したアカウントがホスティング会社側のプログラムから読み取れないとは実におかしな話です。

今回のサーバー移行は、同じホスティング会社の古いサーバーから、新しい高速(といわれる)サーバーに移行します。つまり、古いサーバーよりも新しく調達したサーバーの方が仕様的に上なのでアクセスが快適になる、、、、、、という話なのですが、実際に移行してみないとわかりません。

移行後

実際に移行してみましたが、とくに何も問題はないようです。ただ、サーバーを移行してもWordPressの応答速度がたいして上がらなかったので、WordPressのプラグインを外しまくりました。

プラグインによってずいぶんパフォーマンスが落ちていたようです。いまはかなり快適に? つまり、サーバー移行自体はあまり関係なかったようなのですが、あとでモメなくてよかった程度の話でしょうか。

ホスティングしているサーバーのアップデートが計画されているようですが、1台あたりの収容ユーザー数を増やせば、数値どおりのパフォーマンス向上を体感することは難しいことでしょう。

(Visited 27 times, 1 visits today)
Posted in 未分類 | Leave a comment

ちょっと古めのAppleScript関連ドキュメントのアーカイブ「AppleScript Reference Library」

Posted on 5月 31, 2018 by Takaaki Naganoya

Philによるちょっと古めのAppleScript関連ドキュメントPDFのアーカイブサイト「AppleScript Reference Library」の更新情報がAppleScript Users ML上で紹介されていました。

Appleが開発者向けに1990年代に刊行していた「Develop」掲載記事や「Inside Machintosh」掲載のAppleScript関連記事などがあらたに追加されたようです。

2000〜2009年ぐらいのドキュメントも割とレガシー入りしており見つけにくくなっているものが多く、そうした意味でもまとめてダウンロードできる同サイトはありがたいところです。

(Visited 29 times, 1 visits today)
Posted in 未分類 | Leave a comment

noteのオンラインマガジン「猛者」に新規Noteを寄稿(3)

Posted on 5月 28, 2018 by Takaaki Naganoya

オンラインマガジンApp Engineer Journal “猛者”(モサ)に「Appleに関するウワサ話を実際に検証(上)」「Appleに関するウワサ話を実際に検証(下)」を寄稿しました。

(Visited 35 times, 1 visits today)
Posted in 未分類 | Leave a comment

CMD-D: Down-Home Scripting Boot Camp 2018を開催

Posted on 5月 24, 2018 by Takaaki Naganoya

Sal Soghoianが主催するイベント「CMD-D: Down-Home Scripting Boot Camp」の2018年版が10月15〜17日の3日間、ジョージア州のHilton Garden Innで行われることが発表されました。

講師はSal SoghoianとRay Robertson。3日間みっちりAppleScriptのセミナーを初心者から経験者向けの内容の解説を行うようです。

(Visited 28 times, 1 visits today)
Posted in 未分類 | Leave a comment

noteのオンラインマガジン「猛者」に新規Noteを寄稿

Posted on 5月 20, 2018 by Takaaki Naganoya

App Engineer Journal “猛者”(モサ)というオンラインマガジンに「Appleに関するウワサ話と付き合う方法(下)」を寄稿しました。

(Visited 30 times, 1 visits today)
Posted in 未分類 | Leave a comment

noteのオンラインマガジン「猛者」に寄稿しています

Posted on 5月 14, 2018 by Takaaki Naganoya

App Engineer Journal “猛者”(モサ)というオンラインマガジンに寄稿しています。

現在のところ、

「WWDC18」
「Appleに関するウワサ話と付き合う方法(上)」

といった記事を寄稿しています。

MOSAはNPO法人としてさまざまな(主にApple系の)開発者を支援する団体として活動してきましたが、この初夏にしばりの強いNPO法人から任意団体への移行が計画されており、その話し合いの中にPiyomaru Softwareも加わっています(MOSA会員じゃないんですけど)。

(Visited 20 times, 1 visits today)
Posted in 未分類 | Leave a comment

ScriptDebugger 7で最前面のドキュメントから特殊な属性値を取得

Posted on 4月 20, 2018 by Takaaki Naganoya

AppleScriptの統合開発環境「Script Debugger 7」をAppleScriptからコントロールしたときに、編集中のAppleScript書類から特殊な属性値を取り出せることを確認しました。

# 寝て起きたらShane Stanleyからコメントが送られてきていたので、追記しています(Thanks Shane!)

AppleScriptを編集するプログラム「スクリプトエディタ」「Script Debugger」自体もAppleScriptからのコントロールが可能になっています。対応度でいうとスクリプトエディタのほうが「できることが多い」状態(Attribute Runsを取得できるので、スクリプトの解析を行うにはスクリプトエディタの方が有利)ですが、Script Debuggerにもいろいろと独自に拡張した機能が見られます。

よくよく確認してみたところ「なんでこんなもんが取れるんだ?」という不思議なものがいくつかありました。

Copyright表記(copyright)

なぜ、このようなものが取得できるのか不思議ですが、調べてみたところ編集中のAppleScriptを解析して取り出しているのではなく、バンドル形式のAppleScript書類中のInfo.plistのエントリを取り出しているようです。

–> Shane Stanleyから「そのとおり」とコメント

使用Framework(used framework files)

これは、編集中のAppleScriptを文字列サーチして見つけているものと思われます。ファイルパスのリストで返ってきます。

–> ファイルパスではなく名称リストでした(訂正) また、文字列としてサーチしているのではなく(コメントにuse frameworkを書いておいても無視)実際に解釈して処理しているとのこと
use AppleScript version "2.4"
use framework "Foundation"
use framework "OSAKit"
use scripting additions

–本ScriptをScript Debuggerでオープンしておき、他のエディタ(Script Editor)でAppleScript書類のプロパティを取得すると、used frameworksを取得できる

–> used frameworks:{"Foundation", "OSAKit"}

★Click Here to Open This Script 

使用Script Libraries(used script library files)

ファイルパスのリストで返ってきます。同一ライブラリのうちどのバージョンのものが検知されるのか、といったところは確認しておきたいところです。

レガシーScript Libraries(legacy script libraries)

macOS 10.9で搭載されたAppleScript Librariesですが、10.9からどこまでがScript Debuggerが想定している「レガシー形式」(legacy script libraries)なのかが不明です。

 (a) macOS 10.9だけLegacy Libraries
 (b) macOS 10.9〜10.10がLegacy Libraries

の2つの可能性が存在しています。

–> Shane Stanleyのコメントによれば、本プロパティはScript Debugger 6までのみで有効な値であるとのこと。Script Debugger 7はmacOS 10.11以降でのみ動作するので、(b)の可能性が高そうです(憶測)。

OSAX(used scripting addition files)

これは、あまり真剣に調べていませんが、、、、正確にAppleScript中で使用しているOSAXをリストアップしているのかどうか、半信半疑なところです。

–> Shane Stanleyによれば、これはちゃんとAppleScriptを解釈して抽出しているとのこと

アプリケーション(used applications)

本当に検知できるのか半信半疑なところです。バンドルIDで指定したらどうなるのか、とか疑問がけっこうあります。

–> ShaneからBundle IDで評価しているとのコメントアリ。実際にさまざまな形式でアプリケーションを指定してみたら、取得できました。
use AppleScript version "2.4" — Yosemite (10.10) or later
use framework "Foundation"
use scripting additions

tell application "Finder"
  –アプリケーション名
end tell

tell application id "com.apple.Safari"
  –Bundle ID
end tell

tell application "/Applications/Mac Down"
  –Path
end tell

set aScriptStr to "tell application \"Terminal\" to activate"
run script aScriptStr –String

—————–
–> used applications:{"Finder", "Mac Down", "Safari"}

★Click Here to Open This Script 

組み込みScript Libraries(embedded script libraries)

編集中のバンドル形式のAppleScript書類のバンドル中にAppleScript Librariesを入れている場合にこれを検出するようです。バンドル内を走査してバンドル内に入っているAppleScript Librariesのリストアップはできますが、バンドル内に入れてあるのにuse宣言していない場合にはどーなるのか、といった「穴」はいろいろと見つかりそうな気配がしています。

–> Shane Stanleyによれば、いったん利用中のScript Libraryの情報を取得して、バンドル中に存在するもののみを抽出しているとのこと。「利用していないが入っている」ライブラリは無視するとのこと。また、入れ子でライブラリ中に入っている状態のライブラリは検出しないとのこと。AppleScriptバンドル書類を「親」とすると、AppleScript Libraries in bundleを「子」、さらにその中に入っているAppleScript Librariesを「孫」としたときに、「子」の階層までが検出範囲であるとしています

AppleScript名:ScriptDebugger 7で最前面のドキュメントから特殊な属性値を取得
tell application "Script Debugger"
  tell front document
    –set reqImportFiles to required import items of front document
    
    
set aCopyright to (copyright)
    
–> "Copyright © 2018 Piyomaru Software, All Rights Reserved"
    
    
set frameworkList to (used framework files)
    
–> {file "Cherry:System:Library:Frameworks:Foundation.framework:"}
    
    
set libList to (used script library files)
    
–> {file "Cherry:Users:me:Library:Script Libraries:asHTMLexportLib.scpt", file "Cherry:Users:me:Library:Script Libraries:BridgePlus.scptd:"}
    
    
set legacyLibs to (legacy script libraries) –What?
    
–> {}
    
    
set osaxList to (used scripting addition files)
    
–> {file "Cherry:System:Library:ScriptingAdditions:StandardAdditions.osax:"}
    
    
set appList to (used applications)
    
–> {"Finder"}
    
    
set embLib to (embedded script libraries)
    
–> {}
    
    
properties
  end tell
end tell

★Click Here to Open This Script 

(Visited 42 times, 1 visits today)
Posted in 未分類 | Tagged 10.12savvy 10.13savvy Script Debugger | Leave a comment

NSObjectの各種メソッドのじっけん

Posted on 4月 20, 2018 by Takaaki Naganoya

Cocoaの各種オブジェクトのルートクラスであるNSObjectが持っているメソッドのうち有用そうなものをAppleScriptから呼び出す実験です。

各種クラス(NSStringとかNSArrayとか)のReferenceに掲載されていないのに使えるメソッドが存在していることに、Cocoaを使い始めたころ不思議に思っていたのですが、上位クラスが持っているメソッドであることに(後になって)気づきました。

AppleScript名:isEqualTo
— Created 2018-01-08 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to current application’s NSString’s stringWithString:"ABC"
aStr’s isEqualTo:"ABC"
–> true

aStr’s isEqualTo:"abc"
–>  false

★Click Here to Open This Script 

AppleScript名:isLike
— Created 2018-01-08 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

–https://stackoverflow.com/questions/35902973/what-does-nsstrings-islike-actually-do

set aStr to current application’s NSString’s stringWithString:"ABC"

set aRes1 to aStr’s isLike:"AB*"
–>  true

set aRes2 to aStr’s isLike:"AB?"
–>  true

set aRes3 to aStr’s isLike:"[Aa]BC"
–>  true

set aRes4 to aStr’s isLike:"[Aa][Bb]C"
–>  true

set aRes5 to aStr’s isLike:"[^A]BC"
–>  true

set aRes6 to aStr’s isLike:"[^a]BC"
–> false

set bStr to current application’s NSString’s stringWithString:"A1download"
set aRes7 to bStr’s isLike:"[A-Z][0-9]" –こういう書き方は通らないらしい

★Click Here to Open This Script 

AppleScript名:doesContain
— Created 2018-01-07 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set anArray to current application’s NSArray’s arrayWithArray:{1, 2, 3}
anArray’s doesContain:1
–>  true

anArray’s doesContain:9
–>  false

–2D Arrayには通じないらしい
set bArray to current application’s NSArray’s arrayWithArray:{{1, 1}, {2, 2}, {3, 3}}
set cArray to current application’s NSArray’s arrayWithArray:{2, 2}
bArray’s doesContain:cArray
–>  false

bArray’s doesContain:2
–>  false

★Click Here to Open This Script 

AppleScript名:instancesRespondToSelector
— Created 2018-01-07 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

(current application’s NSObject’s |class|())’s instancesRespondToSelector:"init"
–> true

★Click Here to Open This Script 

AppleScript名:isSubclassOfClassのじっけん
— Created 2018-01-07 12:59:32 +0900 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to current application’s NSString’s stringWithString:"ABC"
aStr’s superclass()’s isSubclassOfClass:(current application’s NSNumber)
–>  false

aStr’s superclass()’s isSubclassOfClass:(current application’s NSString)
–>  true

★Click Here to Open This Script 

AppleScript名:superclassを求める
— Created 2018-01-07 12:53:44 +0900 by Takaaki Naganoya
— 2018 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to current application’s NSString’s stringWithString:"ABC"
aStr’s superclass()
–>  (Class) NSMutableString

aStr’s superclass()’s superclass()
–>  (Class) NSString

aStr’s superclass()’s superclass()’s superclass()
–>  (Class) NSObject

★Click Here to Open This Script 

(Shane Stanleyからツッコミがあって追加↓)

AppleScript名:scriptingIsEqualTo
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to current application’s NSString’s stringWithString:"ABC"
aStr’s scriptingIsEqualTo:"ABC" –only for NSString/NSMutableString
–> true

aStr’s scriptingIsEqualTo:"abc"
–> true

set bStr to current application’s NSString’s stringWithString:"あいうえお" –Japanese Hiragana
bStr’s scriptingIsEqualTo:"アイウエオ" –Japanese Katakana
–> false

bStr’s scriptingIsEqualTo:"ぁぃぅぇぉ" –Japanese Hiragana (Yo-On)
–> false

set bResAS to ("あいうえお" = "ぁぃぅぇぉ") –AppleScript system treat them as *Same* (NFKC Casefold)
–>  true

★Click Here to Open This Script 

(Visited 51 times, 1 visits today)
Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | 1 Comment

Evernoteで選択中のnoteを指定のNotebookにコピー

Posted on 4月 3, 2018 by Takaaki Naganoya

Evernoteで選択中のnoteをいったん書き出して、指定のNotebookにインポートするAppleScriptです。

# Evernoteはバージョン10でAppleScriptサポートが削除されてしまったので、本Scriptはバージョン10以降のEvernoteでは動作しません

選択中のnoteを指定のNotebookにコピーします(添付画像なども含めてすべて)。元の選択中のnoteを削除すれば、「移動」したのと同じことになります。

EvernoteのAppleScript用語辞書には、importコマンドの説明に、

  Import notes from an xml file.

とあります。このXML fileというのがENEXファイルだというのがこのimportコマンドの説明に書かれていないので、

  「ENEXファイルで書き出して、ENEXファイルで読み込む」

という操作ができることが読み解けません。辞書の説明の書き方がよくない、としかいいようがありません。

AppleScript名:Evernoteで選択中のnoteをいったん書き出して、書き出したファイルで新規noteを作成する
— Created 2018-04-03 by Takaaki Naganoya
— 2018 Piyomaru Software
set exPath to ((path to desktop folder) as string) & (do shell script "uuidgen") & ".ENEX"

tell application "Evernote"
  set aSel to selection
  
if aSel = {} then return
  
  
–デスクトップに選択中のノートを書き出す
  
export aSel to file exPath format ENEX
  
  
–指定のノートブックに書き出したノートをインポートする
  
set aNote to (import file exPath to notebook "hiyoko")
  
end tell

do shell script "rm -f " & quoted form of POSIX path of exPath

★Click Here to Open This Script 

(Visited 33 times, 1 visits today)
Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy Evernote | Leave a comment

SafariとiTunesがアップデート

Posted on 4月 2, 2018 by Takaaki Naganoya

macOS 10.13.4 Releaseに合わせて、macOS 10.12向けにもSafari v11.1とiTunes v12.7.4のアップデートがリリースされました。

大幅な整理と謎の見直しが行われたSafari v11.1

Safari v11.1では過去に例を見ないほどの用語辞書の変更が行われました。ただし、ほとんどが「整理」「清書」に類するものであり、機能的に変更があったということではありません。

これまで、Safariの用語辞書には「Text Suites」という「意味のない予約語」が記載されていました。

これがv11.1では削除されました。削除されても、もともと意味がなかったので問題はありません。

saveコマンドで指定するパスオブジェクトがaliasからfileに変更されていますが、これはもともとfileで指定するものなので、「用語辞書の間違いを直した」といえます。実体が存在しない(保存する前なので)パスのaliasは作れません。

ほかには、AppleScript用語内の細かい表記が修正されています。もともと、macOS 10.5でText, String, Unicode textは統一されているので、あえて用語辞書にUnicode Textと書いておく必要はなかったわけで、それがTextに書き換えられていたりします(説明文が変わっただけで動作に変更はありません)。

あと気になるのは「anything」の表記があることです。あまり多用されてこなかったこの予約語、AppleScriptObjC環境でも「list of string or string」などという表記にならないことを期待したいところです(ScriptDebuggerではこれが「any」などという単語に解釈されてしまうし)。

iTunesには変更なし

iTunes v12.7.4には変更がありません。

(Visited 34 times, 1 visits today)
Posted in 未分類 | Tagged 10.12savvy 10.13savvy iTunes Safari | Leave a comment

Keynote, Pages, Numbersがアップデート

Posted on 3月 28, 2018 by Takaaki Naganoya

Keynote、Pages、Numbersがアップデートしました。

 Keynote:v7.3.1 –> v8.0.0
 Pages:v6.3.1 –> v 7.0.0
 Numbers:v4.3.1 –> v5.0.0

NumbersのCSV書き出し機能が強化・変更されたとのことなので、これまでNumbersで複数のシートを含む書類をCSV書き出ししたときの挙動とやや変わる可能性があります。

AppleScript用語辞書については、Pagesにのみ変更があります。これまで用語辞書には「ePub」と書かれていましたが、「EPUB」に変更されました。

また、PagesのEPUB書き出し設定(export options)で「fixed layout」という項目(boolean)が増えました。

(Visited 46 times, 1 visits today)
Posted in 未分類 | Tagged 10.12savvy 10.13savvy Keynote Numbers Pages | Leave a comment

NSSharingService経由でメールを新規作成(作成するだけ、送信しない)

Posted on 3月 14, 2018 by Takaaki Naganoya

NSSharingServiceを利用してメールを新規作成するAppleScriptです。

仕様上、新規作成するだけで送信は行いません。普通にMail.appをコントロールすればメールの送信は行えるので、単にNSSharingServiceのテストです。

AppleScript名:NSSharingService経由でメールを新規作成(作成するだけ、送信しない)
— Created 2017-02-23 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

set shareItems to {"てすとだよおおおん
2行目
3行目"
, "よろしくー1
よろしくー2"
, "Footer?"}
set aService to current application’s NSSharingService’s sharingServiceNamed:(current application’s NSSharingServiceNameComposeEmail)
aService’s setDelegate:me
aService’s setRecipients:{"nobody@piyocast.com"}
aService’s setSubject:"試験送信"
aService’s performWithItems:shareItems

★Click Here to Open This Script 

(Visited 94 times, 1 visits today)
Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy Mail | Leave a comment

Post navigation

  • Older posts

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

Google Search

Popular posts

  • AppleScriptによるWebブラウザ自動操縦ガイド
  • macOS 13, Ventura(継続更新)
  • ドラッグ&ドロップ機能の未来?
  • macOS 12.x上のAppleScriptのトラブルまとめ
  • PFiddlesoft UI Browserが製品終了に
  • macOS 12.3 beta 5、ASの障害が解消される(?)
  • SF Symbolsを名称で指定してPNG画像化
  • 新刊発売:AppleScriptによるWebブラウザ自動操縦ガイド
  • macOS 12.3上でFinder上で選択中のファイルをそのままオープンできない件
  • Pixelmator Pro v2.4.1で新機能追加+AppleScriptコマンド追加
  • Safariで表示中のYouTubeムービーのサムネイル画像を取得
  • macOS 12のスクリプトエディタで、Context Menu機能にバグ
  • 人類史上初、魔導書の観点から書かれたAppleScript入門書「7つの宝珠」シリーズ開始?!
  • UI Browserがgithub上でソース公開され、オープンソースに
  • macOS 12.5(21G72)がリリースされた!
  • Pages v12に謎のバグ。書類上に11枚しか画像を配置できない→解決
  • 新発売:AppleScriptからSiriを呼び出そう!
  • iWork 12.2がリリースされた
  • macOS 13 TTS Voice環境に変更
  • NSCharacterSetの使い方を間違えた

Tags

10.11savvy (1102) 10.12savvy (1243) 10.13savvy (1391) 10.14savvy (586) 10.15savvy (434) 11.0savvy (274) 12.0savvy (174) 13.0savvy (34) CotEditor (60) Finder (47) iTunes (19) Keynote (97) NSAlert (60) NSArray (51) NSBezierPath (18) NSBitmapImageRep (21) NSBundle (20) NSButton (34) NSColor (51) NSDictionary (27) NSFileManager (23) NSFont (18) NSImage (42) NSJSONSerialization (21) NSMutableArray (62) NSMutableDictionary (21) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (118) NSURL (97) NSURLRequest (23) NSUTF8StringEncoding (30) NSUUID (18) NSView (33) NSWorkspace (20) Numbers (55) Pages (36) Safari (41) Script Editor (20) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • Clipboard
  • Code Sign
  • Color
  • Custom Class
  • dialog
  • drive
  • 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
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • PDF
  • Peripheral
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • 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)
  • 未分類

アーカイブ

  • 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