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

HoudahSpotのコントロールを行う

Posted on 6月 1, 2018 by Takaaki Naganoya

HoudahSpotの各種コントロールを行うAppleScriptです。

HoudahSpotは、Spotlightの検索を行うアプリケーションで、AppleScript対応しています。

検索自体は非同期で実行され、検索が終了したかどうかは最前面のドキュメント(front document)のプロパティ「search completed」がtrueになるかどうかをループで確認することになります。このさい、delayコマンドで時間待ちしないと負荷が高くなって全体のパフォーマンスが低下するので、0.1秒ぐらいの時間待ちを行うのが非同期アプリケーションのコントロール時の「お約束」です(Xcodeとか)。

HoudahSpotの検索条件についてはAppleScriptから一切コントロールできないので、HoudahSpot書類に保存しておいてオープンして再検索を行うという利用スタイルを考えているのでしょう。

みどころは、Finderの最前面のウィンドウのパス以下を対象にSpotlight検索するfinder searchコマンド。ちょっと目の付け所がいいと思います。あと、HoudahSpot HelperをオンにするとStatus Bar上にmacOS純正のSpotlightアイコンと同様のアイコンが出てきて検索できます。これもいいと思います。

ただ、わざわざGUIアプリケーションで実行しなくても、AppleScriptから直接Spotlightの機能を呼び出せるので、HoudahSpotを利用する必然性があまり感じられません。

AppleScript名:アプリケーションのプロパティを取得する
tell application "HoudahSpot"
  properties
  
–> {frontmost:false, class:application, name:"HoudahSpot", version:"4.3.7"}
end tell

★Click Here to Open This Script 

AppleScript名:ドキュメントのプロパティを取得する
tell application "HoudahSpot"
  tell document 1
    properties
    
–> {modified:false, name:"Untitled", details pane visible:false, search completed:false, selection:{}, search active:false, file:missing value, results view:list view, search pane visible:true, class:document}
  end tell
end tell

★Click Here to Open This Script 

AppleScript名:ドキュメントをかぞえる
tell application "HoudahSpot"
  set dCount to count every document
  
–> 1
end tell

★Click Here to Open This Script 

AppleScript名:Windowのプロパティを取得する
tell application "HoudahSpot"
  tell window 1
    properties
    
–> {zoomable:true, closeable:true, current tab:tab 1 of window id 89717 of application "HoudahSpot", zoomed:false, class:window, index:1, visible:true, sidebar visible:false, name:"Untitled", toolbar visible:true, miniaturizable:true, id:89717, miniaturized:false, resizable:true, bounds:{0, 22, 1407, 797}, document:document "Untitled" of application "HoudahSpot"}
    
  end tell
end tell

★Click Here to Open This Script 

AppleScript名:WindowのTabをかぞえる
tell application "HoudahSpot"
  tell window 1
    set tCount to count every tab
    
–> 1
  end tell
end tell

★Click Here to Open This Script 

AppleScript名:検索を実行
tell application "HoudahSpot"
  search "Piyowolf"
  
–> document "Untitled 3" of application "HoudahSpot"
end tell

★Click Here to Open This Script 

AppleScript名:検索結果のプロパティをすべて取得する
tell application "HoudahSpot"
  set resList to every result of front document
  
  
set rList to {}
  
repeat with i in resList
    set aRes to properties of i
    
log aRes
    
(*class:result, path:/Users/maro/Library/Mail/V4/DA40FA88-F9E4-45A0-A3C9-4DCD4DCE3C38/Sent Messages.mbox/8DD46D63-E6F7-4A3C-81DF-4D4FDBFBE19B/Data/7/9/0/2/Messages/2097257.emlx, id:/Users/maro/Library/Mail/V4/DA40FA88-F9E4-45A0-A3C9-4DCD4DCE3C38/Sent Messages.mbox/8DD46D63-E6F7-4A3C-81DF-4D4FDBFBE19B/Data/7/9/0/2/Messages/2097257.emlx, name: Yasu for Mac*)
  end repeat
end tell

★Click Here to Open This Script 

AppleScript名:検索結果をカウントする
tell application "HoudahSpot"
  set resCount to count every result of front document
end tell

★Click Here to Open This Script 

AppleScript名:キーワード検索して結果を取得する
tell application "HoudahSpot"
  set resDoc to search "AppleScriptObjC"
  
  
repeat
    tell resDoc
      set resC to search completed
    end tell
    
if resC is equal to true then exit repeat
    
delay 0.1
  end repeat
  
  
set resList to count every result of front document
end tell

★Click Here to Open This Script 

AppleScript名:検索結果からフィルタ参照でしぼりこみ
tell application "HoudahSpot"
  set resList to every result of front document whose path ends with ".md"
end tell

★Click Here to Open This Script 

AppleScript名:検索結果を指定パスに保存する
set aSavePath to choose file name

tell application "HoudahSpot"
  save front document in aSavePath
end tell

★Click Here to Open This Script 

AppleScript名:保存しておいた検索結果をオープンする
set aFile to choose file

tell application "HoudahSpot"
  open aFile
end tell

★Click Here to Open This Script 

AppleScript名:キーワードをFinderの最前面のウィンドウのパスを対象に検索
tell application "HoudahSpot"
  set resDoc to finder search "EXIF"
  
  
repeat
    tell resDoc
      set resC to search completed
    end tell
    
if resC is equal to true then exit repeat
    
delay 0.1
  end repeat
  
  
set resList to count every result of front document
  
end tell

★Click Here to Open This Script 

More from my site

  • Excel__Numbersセルアドレスの相互変換Excel__Numbersセルアドレスの相互変換
  • Wikipedia経由で2つの単語の共通要素を計算するcommon elements Lib Script LibraryWikipedia経由で2つの単語の共通要素を計算するcommon elements Lib Script Library
  • 画面上の指定座標にマウスカーソルを強制移動させてクリック画面上の指定座標にマウスカーソルを強制移動させてクリック
  • checkboxLibをアップデート(3)sdefにサンプルドキュメントを入れるcheckboxLibをアップデート(3)sdefにサンプルドキュメントを入れる
  • checkboxLibをアップデートcheckboxLibをアップデート
  • アイテム番号リストをもとに、ヒットしなかった項目を返すアイテム番号リストをもとに、ヒットしなかった項目を返す
(Visited 143 times, 1 visits today)
Posted in Spotlight | Tagged 10.11savvy 10.12savvy 10.13savvy HoudahSpot | Leave a comment

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

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

Google Search

Popular posts

  • 開発機としてM2 Mac miniが来たのでガチレビュー
  • CotEditorで2つの書類の行単位での差分検出
  • macOS 15, Sequoia
  • 指定のWordファイルをPDFに書き出す
  • Pages本執筆中に、2つの書類モード切り替えに気がついた
  • Adobe AcrobatをAppleScriptから操作してPDF圧縮
  • 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で選択中の表カラムの幅を均等割
  • Keynote、Pages、Numbers Ver.14.0が登場
  • macOS 15 リモートApple Eventsにバグ?
  • デフォルトインストールされたフォント名を取得するAppleScript

Tags

10.11savvy (1102) 10.12savvy (1243) 10.13savvy (1392) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (190) 14.0savvy (142) 15.0savvy (120) CotEditor (66) Finder (51) iTunes (19) Keynote (116) 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