我是一位经验丰富的 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
旁注:当前目录不是构建的应用程序目录。这是我尝试使用它的方法之一:
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 打开我的文件。
我究竟做错了什么?