Anonymous
Anonymous asked in 電腦與網際網路程式設計 · 1 decade ago

如何用VBA尋找word檔裡面的字,然後強迫分頁

我的word檔內

有編號

001~150

當尋找到001時

就在它的上面那一列

強迫分頁

當尋找到002時

就在它的上面那一列

強迫分頁

以此類推

直到150才結束

請問這樣word的VBA要如何寫呢?

謝謝

Update:

BlowExpress 您好

我的檔案內的確如你所說

除了編號就不會有 001~150 這樣的文字

麻煩你

幫幫我

謝謝

Update 2:

BlowExpress 您好

你說用用迴圈跑 Replace

我的檔案內編號

仍然要保留

用Replace 會不會把編號弄掉呢?

謝謝

Update 3:

BlowExpress 您好

我還是不懂

用匿名有什麼關係

我這個不是作業

是我真的有需求

我會excel的VBA

但我對word的VBA就不懂了

如果是在excel的作法是

我用廻圈

for i=150 step -1

.....

.....

next i

希望你可以幫我一下

謝謝

Update 4:

BlowExpress 您好

你說的問題

我自己也是遇過多次

但最常發生

應該是初學者五級吧!

其他等級也是有

匿名者情況也是有

幫人解答

用不著那麼在意

2 Answers

Rating
  • 1 decade ago
    Favorite Answer

    如果你的檔案裡除了編號就不會有 001~150 這樣的文字, 用迴圈跑 Replace 應該就可以辦到,

    不過, 你用匿名就比較不好辦......

    2009-03-08 19:59:49 補充:

    重發這個問題, 不要匿名, 很快就會有人幫你

    如果還沒有人幫你, 我就寫這程式給你

    2009-03-08 21:32:19 補充:

    因為有些人 (不少) 喜歡在得到解答後就不再回應,把問題丟著不管了,留給網友去票選最佳解答,有的也不知到底那裡不爽, 甚至乾脆就把問題刪啦!(其實點數照樣扣) 有些人匿名是為了方便這樣搞,有些人因為常這樣搞怕被人認出,所以匿名。當然我相信不是每個匿名的人都這樣,但不是只有我不喜歡回答匿名的問題,實在是在知識+常有那樣的人,所以你會發現,匿名發問的比較不易得到解答 (亂答的不算)。

    2009-03-08 22:49:59 補充:

    "幫人解答 用不著那麼在意" ......哈哈哈....."匿名" 大大說得好!

    本來想說:

    『你重發這個問題, 不要匿名, 我就馬上貼出來!』

    可是我只花了十五分鐘就寫好這個程式,也沒啥了不起,

    不需要太 "在意",所以,算了!該休息了不想等你了!

    不嫌棄就笑納吧!無論如何,留在網上供他人參考,不要把它刪掉喔!

    2009-03-08 23:01:19 補充:

    你不在意就別再匿名啦!執行 MassReplace() 吧!

    Sub ReplaceText(Src As String, Rpl As String)

    Application.ScreenUpdating = False

    Selection.HomeKey Unit:=wdStory, Extend:=wdMove

    Selection.Find.ClearFormatting

    Selection.Find.Replacement.ClearFormatting

    With Selection.Find

    .Text = Src

    .Replacement.Text = Rpl

    .Forward = True

    .Wrap = wdFindContinue

    .Format = False

    .MatchCase = False

    .MatchWholeWord = False

    .MatchByte = True

    .MatchAllWordForms = False

    .MatchSoundsLike = False

    .MatchWildcards = False

    .MatchFuzzy = False

    End With

    Selection.Find.Execute Replace:=wdReplaceAll

    Application.ScreenUpdating = True

    End Sub

    Sub MassReplace()

    Dim i As Integer

    Dim srcStr As String, rplStr As String

    For i = 1 To 150

    srcStr = Format(i, "000")

    MsgBox srcStr

    rplStr = "^m" & srcStr

    Call ReplaceText(srcStr, rplStr)

    Next i

    End Sub

    2009-03-09 07:53:08 補充:

    "初學者5級" 不是原罪,大家都是從初學者5級開始,但確實新手比較可能不熟規則......

    可是 "匿名" 就看不出等級了,所以就......比較好嗎?

    Source(s): 幫人解答什麼都不在意的BlowExpress的腦袋
  • 1 decade ago

    有人用匿名發問,

    有時候程式寫好了。

    要寄才想到根本不曉得要寄給誰。

    只好自己留著囉!

Still have questions? Get your answers by asking now.