首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在MAC上使用VBA从Excel 16打开工作簿?

如何在MAC上使用VBA从Excel 16打开工作簿?
EN

Stack Overflow用户
提问于 2015-07-20 15:49:04
回答 3查看 19.2K关注 0票数 3

我想在MAC 10.10上用Excel 16的VBA从一个小宏打开一个简单的工作簿,但我做不到。

我有我的宏:

代码语言:javascript
复制
    Sub Test()
        Call Workbooks.Open("Classeur1.xlsm")
    End Sub

对于Office 11,此函数工作正常,但Office 16出现了错误:

运行时错误“1004”: 应用程序定义或对象定义错误

你能帮我修一下吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-07-27 04:47:37

问题是,Excel 2016的Mac有一个奇怪的“默认”目录,它在其中工作。我的开始在/Users/xxxxx/Library/Containers/com.microsoft.Excel/Data。因此,您需要找到工作簿的完全限定路径。例子:-

代码语言:javascript
复制
Sub Test()
   Call Workbooks.Open("/Users/damien/Documents/Classeur1.xlsm")
End Sub

只是附带说明一下,您不需要使用Call语句。你可以这么做:-

代码语言:javascript
复制
Sub Test()
   Workbooks.Open "/Users/damien/Documents/Classeur1.xlsm"
End Sub
票数 2
EN

Stack Overflow用户

发布于 2016-09-30 05:21:26

代码语言:javascript
复制
wbName = "FILENAME"
If CInt(Split(Application.Version, ".")(0)) >= 15 Then 'excel 2016 support
    wbName = Replace(wbName, ":", "/")
    wbName = Replace(wbName, "Macintosh HD", "", Count:=1)
End If

检查Excel版本,然后相应地替换字符。我不知道为什么,但是我在macOS上的Excel 2016版是15.xx版

票数 2
EN

Stack Overflow用户

发布于 2016-01-06 18:00:20

我有一个使用Workbooks.Open的宏,它在Excel2011上工作,而在2016年不起作用。我通过改变文件路径的格式来让它工作。现在路径分隔符不是冒号,而是斜线。

这在Excel 2011中是可行的:

代码语言:javascript
复制
path:..:file

这在Excel 2016中是可行的:

代码语言:javascript
复制
path/../file
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31520898

复制
相关文章

相似问题

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