如何解析 AppleScript 和 Word(对于 MAC)VBA 之间的值?我的意思是从 Word VBA 向 AppleScript 发送值,同样将值发送回 VBA。
这个想法是将一个值(字符串)解析为 AppleScript。这将处理该值并将输出值解析回 Word VBA。解析后的值必须是一个数组。
例如,
Dim arrStr() As String
arrStr() = MacScript("<code here>")
?
如何解析 AppleScript 和 Word(对于 MAC)VBA 之间的值?我的意思是从 Word VBA 向 AppleScript 发送值,同样将值发送回 VBA。
这个想法是将一个值(字符串)解析为 AppleScript。这将处理该值并将输出值解析回 Word VBA。解析后的值必须是一个数组。
例如,
Dim arrStr() As String
arrStr() = MacScript("<code here>")
?
数组的 Applescript 等效项是列表变量。它像这样存储值{val1, val2, val3}
并作为字符串传回。然后,您要做的是使用 VBA 方法Split
将它们解析为数组。下面的示例演示了这一点。
Sub TestAppleScript()
Dim MyScript As String, iNoTimes As Integer, MyArray As Variant
Dim arrStr() As String
iNoTimes = 2
MyScript = "set ArrayReturn to {}" & vbNewLine
MyScript = MyScript & "repeat with i from 1 to " & iNoTimes & vbNewLine
MyScript = MyScript & " set end of ArrayReturn to """"" & vbNewLine
MyScript = MyScript & " set item i of ArrayReturn to i" & vbNewLine
MyScript = MyScript & "end repeat" & vbNewLine
MyScript = MyScript & "return ArrayReturn"
MyArray = MacScript(MyScript)
If MyArray <> "" Then arrStr = Split(MyArray, ",")
End Sub