苦苦于从ApplescriptObjC中的Objective-C路径打开文件

时间:2014-04-26 06:20:56

标签: objective-c scripting ms-word applescript applescript-objc

我是一名经验丰富的Cocoa程序员和Applescript新手。我需要编写基于Microsoft的报告生成器。我从Applescript桥开始,基本上用Word打了一堵墙。我现在正在尝试使用ApplescriptObjC,我正在挣扎着地狱。

当使用Objective-C编写的方法报告其路径时,我甚至陷入了打开文件的愚蠢步骤。 Objective-C类代码非常简单(作为一个人为的例子):

@implementation Reporter
- (NSString *)templatePath:(NSString *)fileName
{
    NSString *fullPath = [self.currentDirectory stringByAppendingPathComponent:fileName];
    return  fullPath;
}
@end

Side注意:当前目录不是构建的app目录。 这是我尝试使用它之一:

on createReport()
    set my myReporter to Reporter's alloc()'s init()
    set WordApp to the application "Microsoft Word"
    set FinderApp to the application "Finder"
    set theWordTemplatePath to myReporter's templatePath:"Rapport.docx"
    set theWordTemplatePath to theWordTemplatePath as text
    tell FinderApp to open POSIX file theWordTemplatePath
end createReport

这个错误:

*** -[CMDAppDelegate applicationWillFinishLaunching:]: Finder got an error: Can’t make «class ocid» id «data optr0000000080B00E0080600000» into type integer. (error -1700)

我尝试了很多变化,尽管尝试了很多个小时,但我仍然无法让Word打开我的文件。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

出于某种原因,POSIX file xalias y等表单通常必须在ASObjC中重写为pPath as POSIX filehfsPath as alias

试试这个:

set my myReporter to Reporter's alloc()'s init()
set theWordTemplatePath to myReporter's templatePath:"Rapport.docx"
set tPath to ((theWordTemplatePath as text) as POSIX file) as alias
tell application "Microsoft Word" to open tPath