Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AppleScript和Word(用于MAC)VBA-解析数组值?_Vba_Macos_Parsing_Ms Word_Applescript - Fatal编程技术网

AppleScript和Word(用于MAC)VBA-解析数组值?

AppleScript和Word(用于MAC)VBA-解析数组值?,vba,macos,parsing,ms-word,applescript,Vba,Macos,Parsing,Ms Word,Applescript,如何解析AppleScript和Word(对于MAC)VBA之间的值?我的意思是将值从单词VBA发送到AppleScript,同样地将值发送回VBA 其思想是将值(字符串)解析为AppleScript。这将处理该值并将输出值解析回Word VBA。解析后的返回值必须是数组 比如说, Dim arrStr() As String arrStr() = MacScript("<code here>") Dim arrStr()作为字符串 arrStr()=MacScript(“”)

如何解析AppleScript和Word(对于MAC)VBA之间的值?我的意思是将值从单词VBA发送到AppleScript,同样地将值发送回VBA

其思想是将值(字符串)解析为AppleScript。这将处理该值并将输出值解析回Word VBA。解析后的返回值必须是数组

比如说,

Dim arrStr() As String
arrStr() = MacScript("<code here>")
Dim arrStr()作为字符串
arrStr()=MacScript(“”)

数组的Applescript等价物是一个列表变量。它存储像so
{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
子TestAppleScript()
Dim MyScript作为字符串,iNoTimes作为整数,MyArray作为变量
Dim arrStr()作为字符串
时间=2
MyScript=“将ArrayReturn设置为{}”&vbNewLine
MyScript=MyScript&“用i从1重复到”&iNoTimes&vbNewLine
MyScript=MyScript&“将ArrayReturn的结尾设置为“””&vbNewLine
MyScript=MyScript&“将ArrayReturn的项目i设置为i”&vbNewLine
MyScript=MyScript&“结束重复”&vbNewLine
MyScript=MyScript&“返回ArrayReturn”
MyArray=MacScript(MyScript)
如果是MyArray“”,则arrStr=Split(MyArray,“”)
端接头

数组的Applescript等价物是一个列表变量。它存储像so
{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
子TestAppleScript()
Dim MyScript作为字符串,iNoTimes作为整数,MyArray作为变量
Dim arrStr()作为字符串
时间=2
MyScript=“将ArrayReturn设置为{}”&vbNewLine
MyScript=MyScript&“用i从1重复到”&iNoTimes&vbNewLine
MyScript=MyScript&“将ArrayReturn的结尾设置为“””&vbNewLine
MyScript=MyScript&“将ArrayReturn的项目i设置为i”&vbNewLine
MyScript=MyScript&“结束重复”&vbNewLine
MyScript=MyScript&“返回ArrayReturn”
MyArray=MacScript(MyScript)
如果是MyArray“”,则arrStr=Split(MyArray,“”)
端接头