作者aljinn (Smokeless Fire)
看板Office
标题Re: [问题] selection.paste不能用?
时间Tue Mar 5 18:39:36 2019
※ 引述《aljinn (Smokeless Fire)》之铭言:
: (若是和其他不同软体互动之问题 请记得一并填写)
: 软体:Office 365 Word
: 这问题应该很弱…不过我不会写程式只好来求教 XD
: 这麽简单的巨集
: Selection.Copy
: Selection.EndKey Unit:=wdStory
: Selection.PasteAndFormat (wdFormatOriginalFormatting)
: Selection.HomeKey Unit:=wdStory
: 但是第三行Selection.Paste会被说错误4605「此指令未提供」是怎麽回事?
经过soyoso大大回应我又查询和测试了一下
相关讨论很少,但又看到一两篇相同/类似症状的
官方给的建议几乎都没用(测不出同样情况、认定是其他软体干扰等等)
有人说什麽也没做後来忽然就又能用了,原因依旧不明
但我自己试一下发现很奇怪
如果把第一句Selection.Copy拿掉,自己先copy好再执行後面指令就可以
粗略实验几次,感觉似乎是Selection.Copy和Paste系列全部指令会冲突?
这应该不是原本就存在的逻辑?而且以前不会啊(至少我改用365之前没遇到过)
除了想再问问有没有人知道原因
也想请教如果无法直接解决的话…有没有绕过的办法?
例如把Selection改成别的expression?(我其实完全不会VBA Orz)
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.62.74
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1551782379.A.D6E.html
※ 编辑: aljinn (27.242.62.74), 03/05/2019 18:39:59
1F:→ soyoso: 那如改以selection.range.copy的方式是否有机会达成呢 03/05 19:11
2F:→ soyoso: 如果还是不行的话,先宣告个变数(假设是r) 03/05 19:26
3F:→ soyoso: dim r as range 03/05 19:26
4F:→ soyoso: set r = selection.range 03/05 19:26
5F:→ soyoso: selection.endkey ... 03/05 19:27
6F:→ soyoso: selection.formattedtext = r 03/05 19:27
7F:→ soyoso: selection.homekey .. 03/05 19:27
8F:→ soyoso: 这样就没使用到copy的部分了 03/05 19:28
9F:→ aljinn: 成功了 @@ 感谢soyoso大大 虽然问题点依旧不明 XDDD 03/05 20:16