Excel 2016 Mac VBA 的变化 窗体消失

这几个月跟着王佩丰老师在B站的教程学了VBA,真是上头啊,比追番还有意思,我跟着写了一大堆乱七八糟的代码,解决了些工作上的问题。本来还打算给别人用,但是用mac上的excel打开就提示有功能无法使用。当时学艺不精,也忙,就直接放弃了mac。昨天,想了解下到底mac能不能用vba,发现虽然问题多,但是解决办法不是没有的。记录下:

  1. Mac Excel是从2016之后才开始功能缺失的,2011支持很完整,官方描述是。

Unlike other versions of Office apps that support VBA, Office 2016 for Mac apps are sandboxed.
Sandboxing restricts the apps from accessing resources outside the app container. This affects any add-ins or macros that involve file access or communication across processes. You can minimize the effects of sandboxing by using the new commands described in the following section.

  1. 2016中要购买365服务才能打开开发者工具,虽然打不开,但是其实是能使用宏的,也能打开visual basic,所以最大的问题是控件没法按键插入了。解决办法是把按钮直接添加到工具栏。2016是支持自定义工具栏的,只是现在还不会。
  2. 2016里面窗体不见了。。。彻底不能添加了,但是可以导入文件的方式把别的窗体导入。导入之后可以使用,也可以编辑代码,但是对窗体本身不能直接编辑。
  3. 在Mac里面不能运行Windows下面的DLL,在Mac里面动态链接库叫做.dylib,在 .framework里面,这个问题对我来说已经超纲。简单搜索得出的结论是,在Mac里面不能直接调用动态链接库里面的工具。
  4. Windows用Shell()函数来运行批处理文件,调用其他程序,Mac用AppleScript()函数调用,但是2016之后这个功能多限制,官方说被弃用,推荐使用AppleScriptTask(),对代码存放位置,对可以传递的canshu 给出了限制。

def

  1. DLL :动态链接库
posted @ 2020-11-21 17:33  Xeonilian  阅读(1185)  评论(0编辑  收藏  举报