我正在尝试为Mac版Word 2016更新模板。
在先前的代码中,我能够运行MacScript()命令来运行AppleScript,而后者又运行了外壳脚本。
现在看来,运行这样一个脚本的唯一方法是使用AppleScriptTask,该脚本要求该脚本已经存在于Application Scripts文件夹中,当我尝试将该脚本分发给其他(非熟练的)用户时会出现问题。
我正在尝试找出替代方法,但是经过数周的研究,我仍然感到困惑。
我正在运行的脚本可以执行各种操作,但是现在最重要的是从网站上下载模板的更新版本。我在Windows上使用ActiveX来执行此操作,但在Mac上无法执行此操作。
任何人都可以使用VBA为Mac Word 2016建议任何替代方法吗?(仅可取)?
谢谢!
答案 0 :(得分:1)
尝试一下:
ActiveDocument.FollowHyperlink "http://yoursite.com/yourpackage.zip"
答案 1 :(得分:0)
下面是我要做的事情。我设置了一个计时器来等待下载,因为它是在VBA之外完成的。
Function Download(Path As String) As String
On Error GoTo Handler
Dim User, UserPath, dlFile, base_dest, final_dest, FName As String
Dim Timer As Boolean
Timer = False
Dim timeout As Variant
timeout = Now + TimeValue("00:00:10")
User = Environ("USER")
UserPath = "/Users/" & User & "/Downloads/"
base_dest = "/Users/" & User & [move/path/]
final_dest = base_dest & FName
ActiveDocument.FollowHyperlink Address:=Path
If Dir(final_dest) <> "" Then
Kill final_dest
End If
Timer = True
ReTry:
If Dir(dlFile) <> "" Then
FileCopy dlFile, final_dest
Kill dlFile
Download = final_dest
Exit Function
End If
Handler:
If Err.Number = 53 And Timer = False Then
Resume Next
ElseIf Err.Number = 53 And Timer = True Then
If Now > timeout Then
MsgBox "There is a problem downloading the file. Please check your internet connection."
End
Else
Resume ReTry
End If
Else
MsgBox Err.Number & vbNewLine & Err.Description
End
End If
End Function