2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

AppleScript アップルスクリプト 質問、発表 6

1 :名称未設定:2013/12/21(土) 21:50:45.07 ID:1PJJFexL0.net
質問、発表どっちでもスレ。

■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
OSバージョンも忘れずに。

■参考
AppleScript Language Guide
https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
TN2065: do shell script
https://developer.apple.com/library/mac/technotes/tn2065/
AppleScript: The Language of Automation
http://www.macosxautomation.com/applescript/
MacWiki - AppleScript
http://macwiki.sourceforge.jp/wiki/index.php/AppleScript
鳶嶋工房 / AppleScript
http://tonbi.jp/AppleScript/
AS Hole(AppleScriptの穴)
http://piyocast.com/as/
■過去スレ
1 http://pc11.2ch.net/test/read.cgi/mac/1174045850/
2 http://pc11.2ch.net/test/read.cgi/mac/1197443062/
3 http://pc11.2ch.net/test/read.cgi/mac/1223026902/
4 http://anago.2ch.net/test/read.cgi/mac/1256127156/
5 http://anago.2ch.net/test/read.cgi/mac/1330350325/

821 :名称未設定:2016/09/07(水) 04:47:46.77 ID:3MTRzdxL0.net
OS10.9以上なら、Rubyのdateオブジェクトで西暦和暦変換ができるみたいです
ただ、和暦はドット区切り、西暦はスラッシュ区切り固定のようなので、
入力する日付を自分でその形式に変換しておく必要あり
(AppleScript's text item delimiters とif文を組み合わせればできる)

というか、本題からズレてたらすいません…


--和暦→西暦変換(ドット区切り・H(平成)・S(昭和)・T(大正)・M(明治)対応)
set theDateStringJp to "S10.9.6"
set theRubyScript to "require 'date';puts Date.parse(\"" & theDateStringJp & "\").strftime(\"%Y/%m/%d\")"
set theDateString to do shell script "ruby -Ku -e " & quoted form of theRubyScript

--西暦→和暦変換(スラッシュ区切り・H(平成)・S(昭和)・T(大正)・M(明治)対応)
set theDateString to "1935/09/06"
set theRubyScript to "require 'date';puts Date.parse(\"" & theDateString & "\").jisx0301"
set theDateStringJp to do shell script "ruby -Ku -e " & quoted form of theRubyScript

822 :名称未設定:2016/09/07(水) 08:09:40.71 ID:3MTRzdxL0.net
>>816
set theDateString to "2016/9/6"
set theDate to date theDateString

set yearString to characters 1 thru 4 of theDateString as text
set (year of theDate) to yearString

log theDate

やっつけ仕事っぽいけど、
システムの設定が和暦だろうが西暦だろうが、
theDateStringの最初の4文字を切り出して
dateオブジェクト「theDate」のyearに代入しちゃえば、
西暦2016年(和暦表記だと平成28年)に上書きできますた

823 :名称未設定:2016/09/07(水) 11:05:58.56 ID:FhgBYBLX0.net
平成やHの文字が出てくると決めつけてるとすぐ使えなくなる可能性が…

824 :名称未設定:2016/09/07(水) 11:31:39.64 ID:ngYUIGtT0.net
>>816
結局最終的に何が得たいの? 日付を西暦にした文字列? 日付同士の計算がしたい?

どちらにせよ一旦和暦を西暦に変換しないとできないっぽいので、
正規表現の使えないASのみではちょいと面倒だと思う。

ちなみに10.6.8だと>>816のは和暦にすると動かないんだが。

825 :名称未設定:2016/09/07(水) 11:41:37.76 ID:CoRxCYwF0.net
新年号なんだろうな?

826 :名称未設定:2016/09/17(土) 05:04:41.42 ID:WAphUahl0.net
入力時点で表記を統一させるか、例外な表記は統一する関数でも書けよ

827 :名称未設定:2016/09/18(日) 17:17:15.66 ID:P6TC9ipg0.net
image eventsで適当な画像をpictで保存したいのですがerror 1708がでてうまくいきません.
どのようにしたらいいでしょうか??

set afile to choose file
set adesk to (path to desktop) as text
tell application "Image Events"
launch
set the_image to open afile
try
save the_image as PICT in (file (adesk & "a.pict"))
end try
close the_image
end tell

828 :名称未設定:2016/09/18(日) 18:54:18.94 ID:ZyunKvGT0.net
pictは扱えなさそうな感じ
代わりにsipsコマンドでやると Error: Unsupported output format com.apple.pict

829 :名称未設定:2016/09/18(日) 22:05:15.44 ID:RKOguUii0.net
標準のコマンドがダメなら brew install imagemagick して
convert コマンドを使う手もある
ImageMagick は PICT 形式に対応してるよ

ちなみに今時 PICT って何に使うんだい

830 :名称未設定:2016/09/19(月) 22:57:57.88 ID:9rn6DICs0.net
過去スレでiTunesのアートワークとして画像を差し込む方法が載っていたのでその通りにやってみました.
そこでは一度,画像データをpictに変換し,data of artwork に入れていました.

総レス数 1008
389 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★