首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用VBA for Mac Word 2016下载文件

使用VBA for Mac Word 2016下载文件
EN

Stack Overflow用户
提问于 2018-07-29 02:23:35
回答 2查看 580关注 0票数 0

我正在尝试更新Mac版Word 2016的模板。

在前面的代码中,我能够运行MacScript()命令来运行AppleScript,然后再运行shell脚本。

现在运行这样的脚本的唯一方法似乎是使用AppleScriptTask,这要求脚本已经存在于Application Scripts文件夹中,这在我试图将其分发给其他(不懂的)用户时会出现问题。

我正在努力寻找替代方法,但经过几周的研究,我仍然被难住了。

我正在运行的脚本可以做很多事情,但现在最重要的是从网站上下载模板的更新版本。我在Windows端使用ActiveX来做这件事,但在Mac上做不到。

有没有人能为Mac Word 2016推荐一些替代方法,使用VBA (只有最好)?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-07-29 02:36:49

试试这个:

代码语言:javascript
复制
ActiveDocument.FollowHyperlink "http://yoursite.com/yourpackage.zip"
票数 1
EN

Stack Overflow用户

发布于 2018-08-28 22:06:27

下面是我为完成这个任务所做的工作。我设置了一个计时器来等待下载,因为它是在VBA之外完成的。

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51574078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档