星期五, 8月 21, 2009

如何置換 Word 文字方塊內的內容

  最近有需求要用 Word 當樣板, 去置換裡面的內容然後再呈現給 User 看, 針對置換內容的部份就不多說, 網路上 Google 隨便都一堆, 這次碰到比較棘手的問題是, 針對文字方塊內的內容無法做置換的動作。

  後來我用巨集去錄製發現, 怎麼連這個都不行, 試了 n 種方法, 再一個偶然下我發現當我游標停在文字方塊內他竟然置換成功了, 於是我找到方向, 去找相關如何將游標停在文字方塊的方法, 發現停在那裡很簡單, 麻煩的是我怎麼知道哪一個是我要的文字方塊, 於是找到一個方法, 我在巨集上寫一段
For Each sp In ActiveDocument.Shapes
  If sp.Name Like "Text Box*" Then
    MsgBox sp.Name & "." & sp.AlternativeText
  End If
Next sp

然後再用肉眼去看看哪一個是我要的, sp.AlternativeText 指的是文字方塊格式裡面的 Web 替代文字

找到了 Name 之後就好辦了, 我就在我要置換那動作的前一的步驟加上
ActiveDocument.Shapes("Text Box 147").Select()

終於搞定我的需求, 呼…, 經實驗過證明是可行的。

沒有留言: