Xcode AppleScript在Microsoft Word文档中插入文本

Xcode AppleScript在Microsoft Word文档中插入文本,xcode,ms-word,macos-mojave,applescript-objc,Xcode,Ms Word,Macos Mojave,Applescript Objc,我是MacOS独立应用程序开发的新手,正在解决现有应用程序中的问题。我们的应用程序访问Microsoft Word文档,并通过AppleScript将文本插入Word文档。当我运行应用程序并通过XCode执行插入操作时,文本不会插入到Word文档中。它在早些时候工作得很好,但从过去几天开始,文本并没有被插入到Word文档中 以下代码在XCode中用于将文本复制到粘贴板,然后调用AppeScript将文本插入Word文档 NSPasteboard * pasteboard = [NSPastebo

我是MacOS独立应用程序开发的新手,正在解决现有应用程序中的问题。我们的应用程序访问Microsoft Word文档,并通过AppleScript将文本插入Word文档。当我运行应用程序并通过XCode执行插入操作时,文本不会插入到Word文档中。它在早些时候工作得很好,但从过去几天开始,文本并没有被插入到Word文档中

以下代码在XCode中用于将文本复制到粘贴板,然后调用AppeScript将文本插入Word文档

NSPasteboard * pasteboard = [NSPasteboard generalPasteboard];
[pasteboard clearContents];
[pasteboard writeObjects:@[textToInsert]];
on insertSampleText()
        try
            using terms from application "Microsoft Word"
                tell application "Microsoft Word"
                    activate
                    tell application "System Events"
                        keystroke "v" using {command down}
                    end tell
                end tell
            end using terms from
            return "0"
        on error the error_message number the error_number
            set the error_text to "" & the error_number
            return the error_text
        end try
end insertSampleText
以下是用于将文本插入Word文档的AppleScript

NSPasteboard * pasteboard = [NSPasteboard generalPasteboard];
[pasteboard clearContents];
[pasteboard writeObjects:@[textToInsert]];
on insertSampleText()
        try
            using terms from application "Microsoft Word"
                tell application "Microsoft Word"
                    activate
                    tell application "System Events"
                        keystroke "v" using {command down}
                    end tell
                end tell
            end using terms from
            return "0"
        on error the error_message number the error_number
            set the error_text to "" & the error_number
            return the error_text
        end try
end insertSampleText
您能建议在Word文档中插入文本需要做什么吗?

keystroke "v" using {command down} 
除非用户在“控制面板”中启用了辅助功能键盘,否则无法工作

假设您的代码正在insertSampleText上成功运行
处理程序(就我个人而言,我会在其中放入一些显示对话框语句,以尝试检查执行流),那么我将首先尝试以下操作

tell application "Microsoft Word"
    activate
    paste object text object of selection
end tell
但是,什么样的工作方式可能完全取决于剪贴板中的内容,以及您希望对任何现有选择执行的操作

(虽然这与您的问题没有明显的关系,但如果您在运行处理程序代码时遇到了问题,您可能会发现下面的讨论很有帮助)