トップ>詰めCocoa
修正日:06/10/26

AEBuildの書式

●boolean
YESの場合、short(1)
NO
の場合、short(0)
●integer
short(100)

●属性参照形式

●番号参照形式

●中央参照形式
seld:abso($6D696464$)を使います。
form:indx, want:type(cha ), seld:abso($6D696464$)

tell application "QuarkXPress" to tell document 1
get font of middle character of text box 1
end tell

AppleEvent event, reply;
OSErr err;
OSType adrITunes =
'XPRa';//
AEBuildError* error;

err = AEBuildAppleEvent (
'core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso($6D696464$), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");

●任意参照形式
seld:abso($616E7920$)を使います。
form:indx, want:type(cha ), seld:abso($616E7920$),
tell application "QuarkXPress" to tell document 1
get font of some character of text box 1
end tell

AppleEvent event, reply;
OSErr err;
OSType adrITunes =
'XPRa';//
AEBuildError* error;

err = AEBuildAppleEvent (
'core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso($616E7920$), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");


●相対参照形式
afterの場合 
seld:next
beforeの場合 seld:prev
form:rele, want:type(cha ), seld:next

tell application "QuarkXPress" to tell document 1
get font of character after character 2 of text box 1
end tell


AppleEvent event, reply;
OSErr err;
OSType adrITunes =
'XPRa';//
AEBuildError* error;

err = AEBuildAppleEvent (
'core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:rele, want:type(cha ), seld:next, from:obj {form:indx, want:type(cha ), seld:short(2), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}}");


●名前参照形式
form:name, want:type(docu), seld:TEXT(@)
tell application "QuarkXPress" to tell document "ドキュメント1"
get font of every character of text box 1
end tell


AppleEvent event, reply;
OSErr err;
OSType adrITunes =
'XPRa';//
AEBuildError* error;
const char* moji = [[NSString stringWithString:NSLocalizedString(@"doc1", @"ドキュメント1")] cString];
err = AEBuildAppleEvent (
'core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso('all '), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:name, want:type(docu), seld:TEXT(@), from:'null'()}}}}",moji);

●ID参照形式

●全要素参照形式
form:indx , seld:abso('all ')
フォームはindexでabsoに'all 'を使う
tell application "QuarkXPress" to tell document 1
get font of every character of text box 1
end tell



AppleEvent event, reply;
OSErr err;
OSType adrITunes =
'XPRa';//
AEBuildError* error;

err = AEBuildAppleEvent (
'core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':obj {form:prop, want:type(prop), seld:type(font), from:obj {form:indx, want:type(cha ), seld:abso('all '), from:obj {form:indx, want:type(TXTB), seld:short(1), from:obj {form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");

●範囲参照形式

form:rang
tell application "QuarkXPress" to tell document 1
get font of characters 1 thru 2 of text box 1
end tell

tell application "QuarkXPress" to tell document 1
'obj '{form:indx, want:type(docu), seld:short(1), from:'null'()}
font
'obj '{form:prop, want:type(prop), seld:type(font), from:
of characters 1 thru 2 of text box 1
'obj '{form:rang, want:type(cha ), seld:rang{star:'obj '{form:indx, want:type(cha ), seld:short(1), from:'ccnt'()}, stop:'obj '{form:indx, want:type(cha ), seld:short(2), from:'ccnt'()}}, from:
of text box 1
'obj '{form:indx, want:type(TXTB), seld:short(1), from:

これを組み立てて
AppleEvent event, reply;
OSErr err;
OSType adrITunes =
'XPRa';//
AEBuildError* error;

err = AEBuildAppleEvent (
'core', 'getd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':'obj '{form:prop, want:type(prop), seld:type(font), from:'obj '{form:rang, want:type(cha ), seld:rang{star:'obj '{form:indx, want:type(cha ), seld:short(1), from:'ccnt'()}, stop:'obj '{form:indx, want:type(cha ), seld:short(2), from:'ccnt'()}}, from:'obj '{form:indx, want:type(TXTB), seld:short(1), from:'obj '{form:indx, want:type(docu), seld:short(1), from:'null'()}}}}");


●フィルタ参照形式
form:test
tell application "QuarkXPress" to tell document 1
set font of characters of text boxes whose font = "Osaka" to "平成明朝"
end tell

//Localizable.stringsに "heiseimincho" = "平成明朝";としてあります。UTF-16
const char* moji = [[NSString stringWithString:NSLocalizedString(@"heiseimincho", @"平成明朝")] cString];
err = AEBuildAppleEvent (
'core', 'setd', typeApplSignature, &adrITunes,
sizeof(adrITunes), kAutoGenerateReturnID, kAnyTransactionID, &event,&error,
"'----':'obj '{form:prop, want:type(prop), seld:type(font), from:'obj '{form:test, want:type(cha ), from:'obj '{form:indx, want:type(TXTB), seld:abso('all '), from:'obj '{form:indx, want:type(docu), seld:short(1), from:'null'()}}, seld:cmpd{relo:'= ', obj1:'obj '{form:prop, want:type(prop), seld:type(font), from:'exmn'()}, obj2:TEXT(@)}}}, data:TEXT(@)","Osaka",moji);

●日本語の文字列
ローカライズされたNSStringをCStringに変換して
TEXT(@)で置換します。

const char* moji = [[NSString stringWithString:NSLocalizedString(@"heiseimincho", @"平成明朝")] cString];

■アプリケーションシグネチャ
●Finder 'MACS'
●QuarkXPress
'XPRa'

■スイート、コマンド
●Finder

'core', 'getd','----'
'core'
, 'setd','----'


修正日:06/10/26