看板 Visual_Basic 關於我們 聯絡資訊
由於有些重覆的文件歸檔動作,要從excel呼叫word,才剛學習word VBA 想請教大大們: 在一個新文件上輸入:Aaa bbc中文字( 金額 1,000 ) ^ ^ ^ ^ ^的部份是半型空格 目的是希望能選到某個特定字元到某個特定字元的範圍 例如目前想要選到「中文字」這個範圍 VBA code如下 Dim aRange As Range Set aRange = ActiveDocument.Sections(1).Range aRange.MoveStartUntil "中" aRange.MoveEndWhile "(", wdBackward MsgBox (aRange.Text) 出來顯示是「中文字( 金額 1,000 )」 我嘗試換過MoveEndUntil,但結果卻完全相同 另外想要問,有沒有手段是可以將Range.End設定到某個詞(ex"罰款")之前? -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.12.8.152 ※ 文章網址: https://www.ptt.cc/bbs/Visual_Basic/M.1449160017.A.A4E.html ※ 編輯: gary8520 (39.12.8.152), 12/04/2015 00:28:55
potawei: 取"中"字之後一整段,取"罰款"之後一整段,前面減掉後面? 12/04 12:58
MOONRAKER: range最小就是一格 格內的內容當字串處理 12/04 13:12
MOONRAKER: instr()在字串中尋找子字串位置 mid()裁剪字串 12/04 13:12
gary8520: 是range無法設定頭又設定尾嗎? 12/04 21:22
MOONRAKER: range最小就是一格(cell) 再講下去跟前面一樣 12/05 00:10
gary8520: word vba range最小不是一個字元嗎? 12/09 01:51
經過數種試驗,若想要選取「中文字」這個範圍的話,可用以下的code aRange.MoveStartUntil "中" ' 中文字( 金額 1,000 ) aRange.MoveEndUntil "(", wdBackward ' 中文字( aRange.MoveEnd wdCharacter, -1 '中文字 另外word vba和EXCEL vba的操作真的滿有差的,一種是選取儲存格, 不是特殊物件都可以清楚容易地定位 但word 的range要選到自己要的範圍,和excel vba的思維很不一樣 ※ 編輯: gary8520 (110.28.154.60), 12/10/2015 23:22:14