作者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/m.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