返回列表 上一主題 發帖

Word VBA 指定範圍取代問題

Word VBA 指定範圍取代問題

各位高手好∼
我寫了一個Function 來執行指定範圍、指定文字、指定底色的取代
可是執行時發現並沒有辦法指在指定範圍中進行取代 而是會變成整篇取代
  1. Public Function myFun_findTxt2addShading( _
  2.                 str_findTxt As String, _
  3.                 range_myRange, _
  4.                 str_repTxt As String, _
  5.                 str_ShadingColor As String) As Boolean
  6.    
  7.     Dim boolean_checkFound As Boolean
  8.     boolean_checkFound = False

  9.     range_myRange.Select
  10.     With Selection
  11.         .Find.ClearFormatting
  12.         .Find.Replacement.ClearFormatting
  13.         .Find.Text = str_findTxt
  14.         .Find.Replacement.Text = str_repTxt
  15.         .Find.Forward = True
  16.         .Find.Replacement.Font.ColorIndex = str_RepFontColor
  17.         .Find.Wrap = wdFindStop
  18.         Do While .Find.Execute
  19.             Selection.Shading.Texture = wdTextureNone
  20.             Selection.Shading.ForegroundPatternColor = wdColorAutomatic
  21.             Selection.Shading.BackgroundPatternColor = str_ShadingColor
  22.             boolean_check = True
  23.         Loop
  24.         .Find.Format = False
  25.         .Find.MatchCase = False
  26.         .Find.MatchWholeWord = False
  27.         .Find.MatchByte = False
  28.         .Find.MatchWildcards = False
  29.         .Find.MatchSoundsLike = False
  30.         .Find.MatchAllWordForms = False

  31.     End With
  32.     findTxt_Shading = boolean_checkFound


  33.    
  34. End Function
  35. Sub test()
  36.    
  37.     a = myFun_findTxt2addShading("一", Selection.Range, "一", wdColorYellow)

  38. End Sub
複製代碼
有人可以幫忙解決嗎∼∼∼
謝謝

取代之後,範圍需不需要重新選取

TOP

        靜思自在 : 稻穗結得越飽滿,越會往下垂,一個人越有成就,就要越有謙沖的胸襟。
返回列表 上一主題