excel - VBA O365 Mac Excel 复制和带有链接的 Word PasteSpecial = True 问题
问题描述
我在Excel 16.32上,我正在重写旧的 Windows VBA 以将其转换为 Mac使用(想要关闭我们的终端服务器)。
我对打开和保存文件(沙盒)没有任何问题,并且工作得最多。pastespecial
但最大的问题是我无法link:=true
正常工作。
- Excel - 复制单元格/范围 - 在本例中为单元格 B2。
- Word - 将其粘贴到带有链接的书签“FastBetRubr”中,以便在需要时进行更新。
所以:
myDoc.Bookmarks.Item("FastBetRubr").Range.PasteSpecial DataType:=wdPasteText, Placement:=wdInLine, DisplayAsIcon:=False, Link:=False
正在工作中
但:
myDoc.Bookmarks.Item("FastBetRubr").Range.PasteSpecial DataType:=wdPasteText, Placement:=wdInLine, DisplayAsIcon:=False, Link:=True
不工作并给出5345 错误(不使用错误代码)。
我们真的需要这些链接,如果我做一个断点然后在 word 中粘贴特殊,它就可以工作。如果只是尝试正常粘贴特殊,它也可以工作。
这些文件位于 SMB 共享上,我尝试在pastespecial之前保存这两个文档并且不保存 -没有变化。
这仍然是沙盒错误还是 Excel-Word 粘贴在 Mac O365 中不起作用?
解决方案
它看起来像 Mac Word 中的错误(错误)。要么,要么微软认为人们不应该在 Mac 上使用未编码的文本。我在 v16.31 上得到了同样的结果,当尝试使用文本格式使用链接进行选择性粘贴时,同样的问题(带有对话框)。
在这里,我可以通过使用 Unformatted Unicode Text 选项插入链接来使其工作。为此,请使用
myDoc.Bookmarks.Item("FastBetRubr").Range.PasteSpecial DataType:=22, Placement:=wdInLine, DisplayAsIcon:=False, Link:=True
Microsoft 似乎没有维护 wdPasteDataType 枚举,因此没有可以使用“wdUnicodeText”等内置常量来代替“22”
在这种情况下,Word 插入一个带有附加 \u 开关的 LINK 字段,该开关指定 Unicode 编码。如果您删除该开关并尝试更新该字段,您会看到一条错误消息,提示 Word 找不到该文件。
推荐阅读
- python - 如何登录受限站点
- node.js - 如何在节点 js 中对嵌套函数进行单元测试?
- dart - 应用程序启动后如何启动一次登录和启动屏幕页面
- julia - Julia 1.1 x=x+1 in for 循环返回错误
- android - 如何在 android UI automator 中使 Autocomplete Textview 具有焦点?
- deep-learning - eval() 模式下的训练模型在 PyTorch 中提供更好的结果?
- python - gaussian_kde中协方差与带宽的关系
- excel - Error while trying to delete all sheets except specific ones
- powercli - vsphere powercli 命令以百分比形式检查 CPU 和内存利用率
- angular - 错误:未找到“未定义”的 NgModule 元数据