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

タグ: 10.13savvy

Bundle IDからアプリケーション名称を取得する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:Bundle IDからアプリケーション名称を取得する
— Created 2017-11-07 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

set aBundleID to "com.apple.iWork.Keynote2"
set aRes to retNameFromBundleID(aBundleID) of me
–> "Keynote"

on retNameFromBundleID(aBundleID)
  set aURL to current application’s NSWorkspace’s sharedWorkspace()’s URLForApplicationWithBundleIdentifier:aBundleID
  
if aURL = missing value then return false –Error
  
set aBundle to current application’s NSBundle’s bundleWithURL:aURL
  
set aName to aBundle’s objectForInfoDictionaryKey:(current application’s kCFBundleExecutableKey)
  
return aName as string
end retNameFromBundleID

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Bundle IDからアプリケーションのパスを取得する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:Bundle IDからアプリケーションのパスを取得する
— Created 2017-11-07 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

set aBundleID to "com.apple.iWork.Keynote"
set aRes to retPathFromBundleID(aBundleID) of me
–> "/Applications/iWork ’13/Keynote.app"

on retPathFromBundleID(aBundleID)
  set aURL to current application’s NSWorkspace’s sharedWorkspace()’s URLForApplicationWithBundleIdentifier:aBundleID
  
if aURL = missing value then return false –Error
  
return aURL’s |path|() as string
end retPathFromBundleID

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Bundle IDからアプリケーションのURLを取得する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:Bundle IDからアプリケーションのURLを取得する
— Created 2017-11-07 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

set aBundleID to "com.apple.iWork.Keynote"
set aRes to retURLFromBundleID(aBundleID) of me
–> "file:///Applications/iWork%20’13/Keynote.app/"

on retURLFromBundleID(aBundleID)
  set aURL to current application’s NSWorkspace’s sharedWorkspace()’s URLForApplicationWithBundleIdentifier:aBundleID
  
if aURL = missing value then return false –Error
  
return aURL’s absoluteString() as string
end retURLFromBundleID

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

指定名称のアプリケーションのBundle IDを求める

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:指定名称のアプリケーションのBundle IDを求める
— Created 2017-11-07 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

set anID to getBundleIDFromAppName("Keynote") of me
–>  "com.apple.iWork.Keynote"

on getBundleIDFromAppName(appName)
  set appPath to POSIX path of (path to application appName)
  
return getBundleIDFromPath(appPath) of me
end getBundleIDFromAppName

on getBundleIDFromPath(aPOSIXpath)
  set aURL to current application’s |NSURL|’s fileURLWithPath:aPOSIXpath
  
set aWorkspace to current application’s NSWorkspace’s sharedWorkspace()
  
set appURL to aWorkspace’s URLForApplicationToOpenURL:aURL
  
set aBundle to current application’s NSBundle’s bundleWithURL:appURL
  
set anID to aBundle’s bundleIdentifier()
  
return anID as string
end getBundleIDFromPath

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

指定パスのアプリケーションのBundle IDを求める

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:指定パスのアプリケーションのBundle IDを求める
— Created 2017-11-07 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"

set aFile to POSIX path of (choose file)
set anID to getBundleIDFromPath(aFile) of me
–>  "com.apple.ScriptEditor2"

on getBundleIDFromPath(aPOSIXpath)
  set aURL to current application’s |NSURL|’s fileURLWithPath:aPOSIXpath
  
set aWorkspace to current application’s NSWorkspace’s sharedWorkspace()
  
set appURL to aWorkspace’s URLForApplicationToOpenURL:aURL
  
set aBundle to current application’s NSBundle’s bundleWithURL:appURL
  
set anID to aBundle’s bundleIdentifier()
  
return anID as string
end getBundleIDFromPath

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Bundle IDで指定したアプリケーションのローカライズ一覧を取得

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:Bundle IDで指定したアプリケーションのローカライズ一覧を取得
— Created 2017-11-07 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aRes to getLocalizationsFromBundleID("com.apple.Safari") of me
–>  {​​​​​"ar", ​​​​​"Base", ​​​​​"ca", ​​​​​"cs", ​​​​​"da", ​​​​​"de", ​​​​​"el", ​​​​​"en", ​​​​​"es", ​​​​​"es_419", ​​​​​"fi", ​​​​​"fr", ​​​​​"he", ​​​​​"hr", ​​​​​"hu", ​​​​​"id", ​​​​​"it", ​​​​​"ja", ​​​​​"ko", ​​​​​"ms", ​​​​​"nl", ​​​​​"no", ​​​​​"pl", ​​​​​"pt", ​​​​​"pt_PT", ​​​​​"ro", ​​​​​"ru", ​​​​​"sk", ​​​​​"sv", ​​​​​"th", ​​​​​"tr", ​​​​​"uk", ​​​​​"vi", ​​​​​"zh_CN", ​​​​​"zh_TW"​​​}

set bRes to getLocalizationsFromBundleID("com.apple.iWork.Pages") of me
–>  {​​​​​"ar", ​​​​​"Base", ​​​​​"ca", ​​​​​"cs", ​​​​​"da", ​​​​​"de", ​​​​​"el", ​​​​​"en", ​​​​​"es", ​​​​​"fi", ​​​​​"fr", ​​​​​"he", ​​​​​"hr", ​​​​​"hu", ​​​​​"id", ​​​​​"it", ​​​​​"ja", ​​​​​"ko", ​​​​​"ms", ​​​​​"nl", ​​​​​"no", ​​​​​"pl", ​​​​​"pt", ​​​​​"pt_PT", ​​​​​"ro", ​​​​​"ru", ​​​​​"sk", ​​​​​"sv", ​​​​​"th", ​​​​​"tr", ​​​​​"uk", ​​​​​"vi", ​​​​​"zh_CN", ​​​​​"zh_TW"​​​}

set cRes to getLocalizationsFromBundleID("com.adobe.Photoshop") of me
–>  {​​​​​"cs", ​​​​​"da", ​​​​​"de", ​​​​​"en-GB", ​​​​​"en", ​​​​​"English", ​​​​​"es", ​​​​​"fi", ​​​​​"fr-CA", ​​​​​"fr", ​​​​​"hu", ​​​​​"it", ​​​​​"ja", ​​​​​"ko", ​​​​​"nb", ​​​​​"nl", ​​​​​"no", ​​​​​"pl", ​​​​​"pt", ​​​​​"ru", ​​​​​"sk", ​​​​​"sv", ​​​​​"tr", ​​​​​"uk", ​​​​​"zh-Hans", ​​​​​"zh-Hant"​​​}

set dRes to getLocalizationsFromBundleID("com.adobe.InDesign") of me
–>  {​​​​​"cs", ​​​​​"da", ​​​​​"de", ​​​​​"el", ​​​​​"en", ​​​​​"en_GB", ​​​​​"English", ​​​​​"es", ​​​​​"fi", ​​​​​"fr", ​​​​​"hu", ​​​​​"it", ​​​​​"ja", ​​​​​"ko", ​​​​​"nb", ​​​​​"nl", ​​​​​"pl", ​​​​​"pt", ​​​​​"ro", ​​​​​"ru", ​​​​​"sq", ​​​​​"sv", ​​​​​"tr", ​​​​​"uk", ​​​​​"zh_CN", ​​​​​"zh_TW"​​​}

set eRes to getLocalizationsFromBundleID("com.adobe.Illustrator") of me
–>  {​​​​​"cs", ​​​​​"da", ​​​​​"de", ​​​​​"el", ​​​​​"en", ​​​​​"es", ​​​​​"fi", ​​​​​"fr", ​​​​​"hu", ​​​​​"it", ​​​​​"ja", ​​​​​"ko", ​​​​​"nl", ​​​​​"no", ​​​​​"pl", ​​​​​"pt", ​​​​​"ro", ​​​​​"ru", ​​​​​"sv", ​​​​​"tr", ​​​​​"uk", ​​​​​"zh_CN", ​​​​​"zh_TW"​​​}

on getLocalizationsFromBundleID(aBundleID)
  set aRes to retPathFromBundleID(aBundleID) of me
  
if aRes = false then error "Wrong Bundle ID."
  
return getSpecifiedAppFilesLocalizationListWithDuplication(aRes) of me
end getLocalizationsFromBundleID

–指定アプリケーションファイルの、指定Localeにおけるローカライズ言語リストを求める。重複を許容
on getSpecifiedAppFilesLocalizationListWithDuplication(appPOSIXpath)
  set aURL to (current application’s |NSURL|’s fileURLWithPath:appPOSIXpath)
  
set aBundle to current application’s NSBundle’s bundleWithURL:aURL
  
set locList to aBundle’s localizations()
  
return locList as list
end getSpecifiedAppFilesLocalizationListWithDuplication

on retPathFromBundleID(aBundleID)
  set aURL to current application’s NSWorkspace’s sharedWorkspace()’s URLForApplicationWithBundleIdentifier:aBundleID
  
if aURL = missing value then return false –Error
  
return aURL’s |path|() as string
end retPathFromBundleID

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

アプリケーションバンドル内のファイルパスを取得する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:アプリケーションバンドル内のファイルパスを取得する
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

property |NSURL| : a reference to current application’s |NSURL|
property NSFileManager : a reference to current application’s NSFileManager

set aRes to getPathsIn_maxfiles_("/Applications/Safari.app", 4096)
–> {"/Applications/Safari.app/Contents", "/Applications/Safari.app/Contents/_CodeSignature", "/Applications/Safari.app/Contents/_CodeSignature/CodeResources", ….

— Example of file manager directory enumeration
on getPathsIn:folderPath maxfiles:MaxNum
  
  
script spd
    property aList : {}
  end script
  
  
set aList of spd to {}
  
  
set theNSURL to |NSURL|’s fileURLWithPath:folderPath
  
set theNSFileManager to NSFileManager’s new()
  
  
— get URL enumerator
  
set theNSFileEnumerator to theNSFileManager’s enumeratorAtURL:theNSURL includingPropertiesForKeys:{} options:0 errorHandler:(missing value)
  
  
repeat with i from 1 to MaxNum — arbitrary number
    — get next URL in enumerator
    
set anNSURL to theNSFileEnumerator’s nextObject()
    
if anNSURL is missing value then exit repeat — missing value means there are no more
    
    
set the end of (aList of spd) to (anNSURL’s |path|() as text)
  end repeat
  
  
return (aList of spd)
  
end getPathsIn:maxfiles:

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

指定のアプリケーションのInfo.plistの任意の属性値を取得する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:指定のアプリケーションのInfo.plistの任意の属性値を取得する
— Created 2017-07-23 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use BridgePlus : script "BridgePlus"
–http://piyocast.com/as/archives/4759

load framework

set aP to choose file
set aURLrec to getAppPropertyFromInfoPlist(aP, "NSAppleScriptEnabled") of me
–> {appName:"Photos", appBundleID:"com.apple.Photos", urlScheme:{"photos"}}

on getAppPropertyFromInfoPlist(aP, aPropertyLabel)
  set aURL to current application’s |NSURL|’s fileURLWithPath:(POSIX path of aP)
  
set aBundle to current application’s NSBundle’s bundleWithURL:aURL
  
set aDict to aBundle’s infoDictionary()
  
  
set appNameDat to (aDict’s valueForKey:"CFBundleName") as string
  
set bundleIDat to (aDict’s valueForKey:"CFBundleIdentifier") as string
  
  
set aRes to aDict’s valueForKey:aPropertyLabel
  
if aRes is not equal to missing value then
    set aRes to aRes as string
  end if
  
set aRec to {appName:appNameDat, appBundleID:bundleIDat, propRes:aRes}
  
return aRec
end getAppPropertyFromInfoPlist

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

指定のアプリケーションのInfo.plistのすべての属性値を取得する

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:指定のアプリケーションのInfo.plistのすべての属性値を取得する
— Created 2017-07-23 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aP to choose file
set aURLrec to getAppAllPropertyFromInfoPlist(aP) of me
–>  (NSDictionary) {​​​​​DTCompiler:"com.apple.compilers.llvm.clang.1_0", ​​​​​NSAppleScriptEnabled:"YES", ​​​​​CFBundleInfoDictionaryVersion:"6.0", ​​​​​DTPlatformVersion:"GM", ​​​​​CFBundleIconFile:"Automator.icns", ​​​​​CFBundleName:"Automator", ​​​​​DTSDKName:"macosx10.12internal", ​​​​​NSServices:{​​​​​​​{​​​​​​​​​NSMenuItem:{​​​​​​​​​​​default:"Create Service"​​​​​​​​​}, ​​​​​​​​​NSSendTypes:{​​​​​​​​​​​"NSStringPboardType", ​​​​​​​​​​​"NSFilenamesPboardType"​​​​​​​​​}, ​​​​​​​​​…

on getAppAllPropertyFromInfoPlist(aP)
  set aURL to current application’s |NSURL|’s fileURLWithPath:(POSIX path of aP)
  
set aBundle to current application’s NSBundle’s bundleWithURL:aURL
  
set aDict to aBundle’s infoDictionary()
  
return aDict
end getAppAllPropertyFromInfoPlist

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

値を指定してCIColorを作成

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:値を指定してCIColorを作成
— Created 2017-04-19 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"

set redValue to 0
set greenValue to 0
set blueValue to 1
set alphaVlaue to 1.0

set aCIColor to current application’s CIColor’s alloc()’s initWithRed:redValue green:greenValue blue:blueValue alpha:alphaVlaue
–>  (CIColor) (0 0 1 1)

★Click Here to Open This Script 

Posted in Color | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

NSColorからCIColorを作成

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:NSColorからCIColorを作成
— Created 2017-04-19 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"
use framework "AppKit"

set redValue to 0
set greenValue to 0
set blueValue to 1
set alphaVlaue to 1.0

set aNSColor to current application’s NSColor’s colorWithCalibratedRed:redValue green:greenValue blue:blueValue alpha:alphaVlaue
set aCIColor to current application’s CIColor’s alloc()’s initWithColor:aNSColor
–>  (CIColor) (0 0 1 1)

★Click Here to Open This Script 

Posted in Color | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

GPUImageで指定画像が真っ白かどうか判定する

Posted on 2月 6, 2018 by Takaaki Naganoya

GPUImage Frameworkを用いて、指定画像が真っ白かどうかを判定するAppleScriptです。

–> GPUImage.framework(To ~/Library/Frameworks/)

指定画像のドットがすべて白いかどうかを判定する処理を真剣に行うと、かなり大変です。

いまでは大したことのない1,024 x 768のサイズの画像であっても、ピクセル数は786,432個。78万ピクセルのデータをRGBの各チャネルについてチェックを行う必要があります。78万×3=240万要素ぐらいの処理を行うわけで、メモリ8Gバイト搭載のMacでAppleScriptを用いて処理するのはつらいものがあります(AppleScriptの配列であるlist型変数はメモリ効率がそれほどよくないので)。

240万要素のList型変数(配列)をループで全要素チェックするだけでもけっこうな時間がかかります。こうした地道なアプローチで攻めるのは物理的に不可能です。実用的ではありません。

すべてのピクセルが白いかチェックするのに実用的な処理といえば、Adobe Photoshopで画像の明度ヒストグラムを求めて、ヒストグラムの配列をチェックするというものがあります(実戦に投入していました)。ただし、処理を行うのにAdobe Photoshopが必要になります。Photoshopがない環境では手も足も出ません。

そこで、GPUImage.frameworkをAppleScriptから呼び出してヒストグラムを計算する方法を見つけました。これであれば、AppleScriptと一緒に配布することも可能ですし、処理もPhotoshopより(起動時間を勘案すると)高速に行えます。

実際に、1024×768および1980×1200の真っ白い画像を作成し、それぞれ1ピクセルだけ黒く塗りつぶして空白検出を行なったところ「空白ではない」ことを検知できました(ただし、1×1の画像の判定をミスするという問題がありました)。

GPUImageのヒストグラム出力は、結果にArrayが返ってくるわけでもなく、ヒストグラム出力「画像」が出てくるだけです。その画像を256ピクセルほどスキャンして検出しています。

指定画像がすべて白いかチェックを行う演算は、PDFの空白ページの検出で利用しています。テキストだけではなく、グラフィック要素が指定ページに存在しているかどうかをチェックするために、GPUImage.frameworkのこのヒストグラム出力機能を利用しています。

GPUImage.framework自体は、Swiftで書き直されたGPUImage2に移行。さらにAppleから OpenGLとOpenGL ESが非推奨になりMetalが推奨になったためにGPUImage2も今度の動向がどうなるか不明。新たなGPUImage3に移行するのか、GPUImage2の機能のまましばらく行くのか動向が気になります(結局、Metal対応のGPUImage3に移行)。

各種の画像フィルター処理については代替手段があるものの、このヒストグラム計算による空白画像検出については現時点で代替手段がないため、調査しておきたいところです。ヒストグラム計算自体はありふれた演算なのですが、Objective-Cでラッピングされている例が少ないので、自分でプログラムを書かないといけないのかもしれません。

→ AppleScriptだけで本Scriptよりも高速に画像の空白判定を行えるようになりました(画像の空白判定 v4)。GPUImage.frameworkの機能はこの種類の処理にはもう使っていません。

AppleScript名:GPUImageで指定画像が真っ白かどうか判定する
— Created 2017-02-12 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "AppKit"
use framework "GPUImage"
use framework "Quartz"
use framework "QuartzCore"
use framework "CoreGraphics"

set aFile to POSIX path of (choose file of type {"public.image"} with prompt "Select a image to check which is blank (or not) ")

set aURL to current application’s |NSURL|’s fileURLWithPath:aFile
set anNSImage to current application’s NSImage’s alloc()’s initWithContentsOfURL:aURL

set wRes to my detectAllWhite:anNSImage
–> true (Blank = White)
–> false (Not Blank = Not White)

–指定のNSImageが真っ白かどうかをチェック
on detectAllWhite:anNSImage
  –グレースケールフィルタを通して色要素を削除
  
set grayImage to filterWithNSImage(anNSImage, "GPUImageGrayscaleFilter") of me
  
  
–明度ヒストグラム画像を取得
  
set imgRes to getHistogramFromImage(grayImage, 4) of me
  
  
–画像のサイズ(幅、高さ)をピクセル数で取得する(念のため)
  
set aSize to imgRes’s |size|()
  
set aWidth to aSize’s width()
  
set aHeight to aSize’s height()
  
  
set aRawimg to current application’s NSBitmapImageRep’s imageRepWithData:(imgRes’s TIFFRepresentation())
  
  
–白い画像のデータパターン
  
set aWhitePattern to current application’s NSMutableArray’s arrayWithArray:{0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0}
  
  
set resArray to current application’s NSMutableArray’s alloc()’s init()
  
repeat with i from 0 to 255
    set origColor to (aRawimg’s colorAtX:i y:1)
    
set srgbColSpace to current application’s NSColorSpace’s genericGrayColorSpace
    
set aColor to (origColor’s colorUsingColorSpace:srgbColSpace)
    
set aWhite to aColor’s whiteComponent()
    (
resArray’s addObject:aWhite)
  end repeat
  
  
set aRes to (resArray’s isEqualTo:aWhitePattern) as boolean
  
return aRes
  
end detectAllWhite:

–各種ヒストグラムの定数(From GPUImage.framework)
–0:kGPUImageHistogramRed
–1:kGPUImageHistogramGreen
–2:kGPUImageHistogramBlue
–3:kGPUImageHistogramRGB
–4:kGPUImageHistogramLuminance

–指定のNSImageを明度ヒストグラム化してNSImageで返す
on getHistogramFromImage(aNSImage, histogramType)
  set aFilter to current application’s GPUImageHistogramFilter’s alloc()’s initWithHistogramType:histogramType
  
set aProcImg to (aFilter’s imageByFilteringImage:aNSImage)
  
return aProcImg
end getHistogramFromImage

–NSImageをGPUImage.frameworkの指定フィルタで処理してNSImageを返す
on filterWithNSImage(aNSImage, filterName as string)
  set aClass to current application’s NSClassFromString(filterName)
  
set aImageFilter to aClass’s alloc()’s init()
  
set aProcImg to (aImageFilter’s imageByFilteringImage:aNSImage)
  
return aProcImg
end filterWithNSImage

★Click Here to Open This Script 

Posted in Image | Tagged 10.11savvy 10.12savvy 10.13savvy | 2 Comments

任意の2色の色差ΔEを求める

Posted on 2月 6, 2018 by Takaaki Naganoya

Coloursをフレームワーク化したcolorsKit.frameworkを呼び出して、指定の任意のRGB色2色の色差(ΔE)を計算するAppleScriptです。

色差を求めるためには、RGB色をXYZを経由してL*a*b*色に変換する必要があります。変換自体はColoursの内蔵機能で行っています。

ただし、色差を求める際にNSColor’s whiteColor()などと通常のメソッドで求めたNSColorとColoursの機能を用いて求めたNSColorとの間で計算をするとエラーになります。色差の計算はColoursの機能を用いて作成したNSColor同士で行う必要があるようです。

–> colorsKit.framework

AppleScript名:任意の2色の色差ΔEを求める
— Created 2017-12-29 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "colorsKit" –https://github.com/bennyguitar/Colours
use framework "AppKit"

property NSColor : a reference to current application’s NSColor

set aASCol to choose color
set bASCol to choose color

set aCocoaList to retCocoaColorList(aASCol, 65535) of me
set bCocoaList to retCocoaColorList(bASCol, 65535) of me

set aCol to NSColor’s colorFromRGBAArray:aCocoaList
set bCol to NSColor’s colorFromRGBAArray:bCocoaList

set aDist to aCol’s distanceFromColor:bCol type:2 –ColorDistanceCIE2000

return aDist

–Convert "choose color" RGB list (0-65535) to Cocoa color RGBA Array (0.0-1.0)
on retCocoaColorList(aColorList, aMax)
  set cocoaColorList to {}
  
repeat with i in aColorList
    set the end of cocoaColorList to i / aMax
  end repeat
  
set the end of cocoaColorList to 1.0
  
return cocoaColorList
end retCocoaColorList

★Click Here to Open This Script 

Posted in Color | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

文字列のURLエンコード、URLデコード

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:文字列のURLエンコード、URLデコード
— Created 2017-09-19 by Takaaki Naganoya
— 2017 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to "あいうえお"

set bStr to encodeURLencoding(aStr) of me
–>  "%E3%81%82%E3%81%84%E3%81%86%E3%81%88%E3%81%8A"

set cStr to decodeURLencoding(bStr) of me
–>  "あいうえお"

on encodeURLencoding(origStr as string)
  set aStr to current application’s NSString’s stringWithString:origStr
  
set encodedStr to aStr’s stringByAddingPercentEscapesUsingEncoding:(current application’s NSUTF8StringEncoding)
  
return encodedStr as string
end encodeURLencoding

on decodeURLencoding(encodedStr)
  set aStr to current application’s NSString’s stringWithString:encodedStr
  
set bStr to aStr’s stringByReplacingPercentEscapesUsingEncoding:(current application’s NSUTF8StringEncoding)
  
return bStr as string
end decodeURLencoding

★Click Here to Open This Script 

Posted in URL | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

URLにリソースが存在するかチェック v4

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:URLにリソースが存在するかチェック v4
— Created 2016-10-18 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"

set aStr to "http://piyocast.com/as/wp-content/uploads/2018/02/map2-1024×796.png"

set aURL to (current application’s |NSURL|’s URLWithString:aStr)
set {exRes, headerRes, aData} to checkURLResourceExistence(aURL, 3) of me

log exRes
–> true / false

return {exRes, headerRes as record}
–> {true, {|content-type|:"image/png", |keep-alive|:"timeout=1, max=100", Server:"Apache", Expires:"Tue, 06 Feb 2018 09:52:20 GMT", |cache-control|:"max-age=300", |date|:"Tue, 06 Feb 2018 09:47:30 GMT", |content-length|:"323366", Connection:"Keep-Alive", |x-content-type-options|:"nosniff", Etag:"\"1f81fd7-4ef26-564871949b4c7\"", |accept-ranges|:"bytes", |last-modified|:"Tue, 06 Feb 2018 08:38:11 GMT"}}

— 指定URLにファイル(画像など)が存在するかチェック
–> {存在確認結果(boolean), レスポンスヘッダー(NSDictionary), データ(NSData)}
on checkURLResourceExistence(aURL, timeOutSec as real)
  set aRequest to (current application’s NSURLRequest’s requestWithURL:aURL cachePolicy:(current application’s NSURLRequestUseProtocolCachePolicy) timeoutInterval:timeOutSec)
  
set aRes to (current application’s NSURLConnection’s sendSynchronousRequest:aRequest returningResponse:(reference) |error|:(missing value))
  
set dRes to (first item of (aRes as list))
  
set bRes to (second item of (aRes as list))
  
if bRes is not equal to missing value then
    set hRes to (bRes’s allHeaderFields())
    
set aResCode to (bRes’s statusCode()) as integer
  else
    set hRes to {}
    
set aResCode to -1 –error
  end if
  
return {(aResCode = 200), hRes, dRes}
end checkURLResourceExistence

★Click Here to Open This Script 

Posted in 未分類 | Tagged 10.11savvy 10.12savvy 10.13savvy | 1 Comment

multi page tiffを読み込んで、PDFにする v2

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:multi page tiffを読み込んで、PDFにする v2
— Created 2015-01-01 by Takaaki Naganoya
— Modified 2016-04-18 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"
use framework "Quartz"
use framework "AppKit"

property |NSURL| : a reference to current application’s |NSURL|
property NSString : a reference to current application’s NSString
property PDFPage : a reference to current application’s PDFPage
property NSImage : a reference to current application’s NSImage
property PDFDocument : a reference to current application’s PDFDocument
property NSBitmapImageRep : a reference to current application’s NSBitmapImageRep

set a to choose file of type {"public.tiff"} with prompt "Select Multi-page tiff file" –tiff
set aRes to convertMultiPageTiffToPDF(a) of me

on convertMultiPageTiffToPDF(anAlias)
  –Make Output Path
  
set b to POSIX path of anAlias
  
set bb to changeExtensionInPath("pdf", b) –OutPath
  
  
–Read Multi-Page TIFF
  
set aURL to |NSURL|’s fileURLWithPath:b
  
set aImage to NSImage’s alloc()’s initWithContentsOfURL:aURL
  
set aRawimg to aImage’s TIFFRepresentation()
  
set eachTiffPages to (NSBitmapImageRep’s imageRepsWithData:aRawimg) as list
  
  
–Make Blank PDF
  
set aPDFdoc to PDFDocument’s alloc()’s init()
  
  
set pageNum to 0
  
  
repeat with curPage in eachTiffPages
    set thisImage to contents of curPage
    
set aImg to (NSImage’s alloc()’s initWithSize:(thisImage’s |size|()))
    (
aImg’s addRepresentation:thisImage)
    (
aPDFdoc’s insertPage:(PDFPage’s alloc()’s initWithImage:aImg) atIndex:pageNum)
    
set pageNum to pageNum + 1
  end repeat
  
  
return (aPDFdoc’s writeToFile:bb) as boolean
end convertMultiPageTiffToPDF

–ファイルパス(POSIX path)に対して、拡張子のみ付け替える
on changeExtensionInPath(extStr as string, aPath as string)
  set pathString to NSString’s stringWithString:aPath
  
set theExtension to pathString’s pathExtension()
  
set thePathNoExt to pathString’s stringByDeletingPathExtension()
  
set newPath to thePathNoExt’s stringByAppendingPathExtension:extStr
  
return newPath as string
end changeExtensionInPath

★Click Here to Open This Script 

Posted in PDF | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

ASOCでPDFを回転させて保存 v2

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:ASOCでPDFを回転させて保存 v2
— Created 2015-10-20 by Takaaki Naganoya
— Modified 2016-07-01 by Takaaki Naganoya–複数回PDFに回転処理を行った場合の挙動を改善
— 2015 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"

set aPath to POSIX path of (choose file of type {"com.adobe.pdf"} with prompt "Select PDF")
set newFile to POSIX path of (choose file name)

set pdfRes to rotatePDFandSaveAt(aPath, newFile, 90) of me

–oldPath and newPath have to be a POSIX path, aDegree have to be in {0, 90, 180, 270, 360}
on rotatePDFandSaveAt(oldPath as string, newPath as string, aDegree as integer)
  
  –Error Check
  
if aDegree is not in {0, 90, 180, 270, 360} then error "Wrong Degree"
  
  set aURL to current application’s |NSURL|’s fileURLWithPath:oldPath
  
set aPDFdoc to current application’s PDFDocument’s alloc()’s initWithURL:aURL
  
  set pCount to aPDFdoc’s pageCount() –count pages
  
  –Make Blank PDF
  
set newPDFdoc to current application’s PDFDocument’s alloc()’s init()
  
  –Rotate Each Page
  
repeat with i from 0 to (pCount – 1)
    set aPage to (aPDFdoc’s pageAtIndex:i)
    
    –Set Degree
    
set curDegree to aPage’s |rotation|() –Get Current Degree
    (
aPage’s setRotation:(aDegree + curDegree)) –Set New Degree
    
    (newPDFdoc’s insertPage:aPage atIndex:i)
  end repeat
  
  set aRes to newPDFdoc’s writeToFile:newPath
  
return aRes as boolean
  
end rotatePDFandSaveAt

★Click Here to Open This Script 

Posted in PDF | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

ASOCでPDFの各種情報を取得する

Posted on 2月 6, 2018 by Takaaki Naganoya

PDFの各種情報を取得するAppleScriptです。

これまで、GUIアプリケーションを呼び出してPDFの情報を取得していましたが、PDFKitの機能を利用してAppleScript単体で(GUIアプリケーションの機能を呼び出すことなく)処理できるようになりました。

PDF関連は、ほぼたいていの処理をAppleScriptだけで行えています。しいて(自分が)できていないのは、ウォーターマークを埋め込むような処理ぐらいでしょうか。それ以外であれば、たいてい行えます。

AppleScript名:ASOCでPDFの各種情報を取得する
— Created 2015-10-20 by Takaaki Naganoya
— 2015 Piyomaru Software
use AppleScript version "2.5"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"

set aPath to POSIX path of (choose file of type {"com.adobe.pdf"} with prompt "Select PDF")
set aURL to current application’s |NSURL|’s fileURLWithPath:aPath
set aPDFdoc to current application’s PDFDocument’s alloc()’s initWithURL:aURL

set pCount to aPDFdoc’s pageCount() –ページ数
–>  1

set aMajorVersion to aPDFdoc’s majorVersion() –バージョン(メジャーバージョン)
–> 1

set aMinorVersion to aPDFdoc’s minorVersion() –バージョン(マイナーバージョン)
–> 3

set aRoot to aPDFdoc’s outlineRoot()
–>  missing value

set anAttr to (aPDFdoc’s documentAttributes()) as record
–> (NSDictionary) {Creator:"Pages", Producer:"Mac OS X 10.11.1 Quartz PDFContext", ModDate:(NSDate) 2015-10-20 07:45:55 +0000, Title:"testPDF", CreationDate:(NSDate) 2015-10-20 07:45:55 +0000}

set aCreator to anAttr’s Creator()
–>  "Pages"

set aProducer to anAttr’s Producer()
–>  "Mac OS X 10.11.1 Quartz PDFContext"

set aTitle to anAttr’s Title()
–>  "testPDF"

set aCreationDate to anAttr’s CreationDate() –PDF作成年月日
–>  date "2015年10月20日火曜日 16:45:55"

set aModDate to anAttr’s ModDate() –PDF変更年月日
–>  date "2015年10月20日火曜日 16:45:55"

set anEncF to aPDFdoc’s isEncrypted() –暗号化されている(パスワードが設定されている)か?
–>  false

set anLockF to aPDFdoc’s isLocked() –ロックされているか?
–>  false

set aCopyF to aPDFdoc’s allowsCopying() –テキストのコピーを許可されているか?
–>  true

set aPrintF to aPDFdoc’s allowsPrinting() –印刷を許可されているか?
–>  true

–PDFのサイズを取得する(単位:Point)
set aPage to aPDFdoc’s pageAtIndex:0
set aBounds to aPage’s boundsForBox:(current application’s kPDFDisplayBoxMediaBox)
set aSize to |size| of aBounds
–>  {​​​​​width:595.28, ​​​​​height:841.89​​​}

★Click Here to Open This Script 

Posted in PDF | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

連番JPEGファイルを読み込んで連結したPDFを作成(既存のPDFに追加)

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:連番JPEGファイルを読み込んで連結したPDFを作成(既存のPDFに追加)
— Created 2016-09-20 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"
use framework "Quartz"
use framework "AppKit"

set aExt to ".jpg"

set targAlias to retFrontFinderWindowsTargetIfExits(path to desktop) of me
set aFol to choose folder with prompt "追記するJPEG画像ファイルが入っているフォルダを選択" default location targAlias

set fList to getFilePathList(aFol, aExt) of me
set f2List to my sort1DList:fList ascOrder:true –sort by ascending

set newFile to POSIX path of (choose file of type {"com.adobe.pdf"} with prompt "既存のPDFファイルを選択(このPDF末尾に画像を追加)")
set newFilePath to current application’s NSString’s stringWithString:newFile
set newFileURL to current application’s |NSURL|’s fileURLWithPath:newFile

–Get Exsisting PDF’s URL and Use it
set aPDFdoc to current application’s PDFDocument’s alloc()’s initWithURL:newFileURL
set pageNum to ((aPDFdoc’s pageCount()) as integer)

repeat with i in f2List
  set j to contents of i
  
set aURL to (current application’s |NSURL|’s fileURLWithPath:j)
  
set bImg to (current application’s NSImage’s alloc()’s initWithContentsOfURL:aURL)
  (
aPDFdoc’s insertPage:(current application’s PDFPage’s alloc()’s initWithImage:bImg) atIndex:pageNum)
  
set pageNum to pageNum + 1
end repeat

aPDFdoc’s writeToFile:newFilePath

–ASOCで指定フォルダのファイルパス一覧取得(拡張子指定つき)
on getFilePathList(aFol, aExt)
  set aPath to current application’s NSString’s stringWithString:(POSIX path of aFol)
  
set aFM to current application’s NSFileManager’s defaultManager()
  
set nameList to (aFM’s contentsOfDirectoryAtPath:aPath |error|:(missing value)) as list
  
set anArray to current application’s NSMutableArray’s alloc()’s init()
  
  
repeat with i in nameList
    set j to i as text
    
if (j ends with aExt) and (j does not start with ".") then –exclude invisible files
      set newPath to (aPath’s stringByAppendingString:j)
      (
anArray’s addObject:newPath)
    end if
  end repeat
  
  
return anArray as list
end getFilePathList

–1D List(文字)をsort / ascOrderがtrueだと昇順ソート、falseだと降順ソート
on sort1DList:theList ascOrder:aBool
  set aDdesc to current application’s NSSortDescriptor’s sortDescriptorWithKey:"self" ascending:aBool selector:"localizedCaseInsensitiveCompare:"
  
set theArray to current application’s NSArray’s arrayWithArray:theList
  
return (theArray’s sortedArrayUsingDescriptors:{aDdesc}) as list
end sort1DList:ascOrder:

on retFrontFinderWindowsTargetIfExits(aDefaultLocation)
  tell application "Finder"
    set wCount to count every window
    
if wCount ≥ 1 then
      tell front window
        set aTarg to target as alias
      end tell
      
return aTarg
    else
      return aDefaultLocation
    end if
  end tell
end retFrontFinderWindowsTargetIfExits

★Click Here to Open This Script 

Posted in PDF | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

連番JPEGファイルを読み込んで連結したPDFを作成(新規作成)

Posted on 2月 6, 2018 by Takaaki Naganoya
AppleScript名:連番JPEGファイルを読み込んで連結したPDFを作成(新規作成)
— Created 2016-09-20 by Takaaki Naganoya
— 2016 Piyomaru Software
use AppleScript version "2.4"
use scripting additions
use framework "Foundation"
use framework "QuartzCore"
use framework "Quartz"
use framework "AppKit"

set aExt to ".jpg"
set aFol to choose folder
set fList to getFilePathList(aFol, aExt) of me
set f2List to my sort1DList:fList ascOrder:true –sort by ascending

set newFile to POSIX path of (choose file name with prompt "新規PDFファイルの名称を選択")
set newFilePath to current application’s NSString’s stringWithString:newFile

–Make Blank PDF
set aPDFdoc to current application’s PDFDocument’s alloc()’s init()

set pageNum to 0

repeat with i in f2List
  set j to contents of i
  
set aURL to (current application’s |NSURL|’s fileURLWithPath:j)
  
set bImg to (current application’s NSImage’s alloc()’s initWithContentsOfURL:aURL)
  (
aPDFdoc’s insertPage:(current application’s PDFPage’s alloc()’s initWithImage:bImg) atIndex:pageNum)
  
set pageNum to pageNum + 1
end repeat

aPDFdoc’s writeToFile:newFilePath

–ASOCで指定フォルダのファイルパス一覧取得(拡張子指定つき)
on getFilePathList(aFol, aExt)
  set aPath to current application’s NSString’s stringWithString:(POSIX path of aFol)
  
set aFM to current application’s NSFileManager’s defaultManager()
  
set nameList to (aFM’s contentsOfDirectoryAtPath:aPath |error|:(missing value)) as list
  
set anArray to current application’s NSMutableArray’s alloc()’s init()
  
  
repeat with i in nameList
    set j to i as text
    
if (j ends with aExt) and (j does not start with ".") then –exclude invisible files
      set newPath to (aPath’s stringByAppendingString:j)
      (
anArray’s addObject:newPath)
    end if
  end repeat
  
  
return anArray as list
end getFilePathList

–1D List(文字)をsort / ascOrderがtrueだと昇順ソート、falseだと降順ソート
on sort1DList:theList ascOrder:aBool
  set aDdesc to current application’s NSSortDescriptor’s sortDescriptorWithKey:"self" ascending:aBool selector:"localizedCaseInsensitiveCompare:"
  
set theArray to current application’s NSArray’s arrayWithArray:theList
  
return (theArray’s sortedArrayUsingDescriptors:{aDdesc}) as list
end sort1DList:ascOrder:

★Click Here to Open This Script 

Posted in PDF | Tagged 10.11savvy 10.12savvy 10.13savvy | Leave a comment

Post navigation

  • Older posts
  • Newer posts

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

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • macOS 15, Sequoia
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Numbersで選択範囲のセルの前後の空白を削除
  • メキシカンハットの描画
  • Pixelmator Pro v3.6.4でAppleScriptからの操作時の挙動に違和感が
  • AppleScriptによる並列処理
  • macOS 15でも変化したText to Speech環境
  • Safariで「プロファイル」機能を使うとAppleScriptの処理に影響
  • AppleScript入門③AppleScriptを使った「自動化」とは?
  • デフォルトインストールされたフォント名を取得するAppleScript
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • macOS 15 リモートApple Eventsにバグ?
  • Script Debuggerの開発と販売が2025年に終了
  • AppleScript入門① AppleScriptってなんだろう?
  • macOS 14で変更になったOSバージョン取得APIの返り値
  • NSObjectのクラス名を取得 v2.1
  • macOS 15:スクリプトエディタのAppleScript用語辞書を確認できない
  • 有害ではなくなっていたSpaces
  • AVSpeechSynthesizerで読み上げテスト

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (195) 14.0savvy (148) 15.0savvy (137) CotEditor (66) Finder (51) Keynote (119) 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 (55) Pixelmator Pro (20) 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
  • 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
  • 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
  • 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年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