• 2

Word的字型在同一篇文章中是否可以指定中英文的字型大小不同呢???


silvertalker wrote:
1. 先將中英文通通變成「新細明體14」


2. 用取代功能將英數變成「Times New Roman 斜體 12」,方法如下

(1) 編輯->取代
(2) 在「尋找目標」處輸入:[A-Za-z0-9]
(3) 按「更多」,勾選搜尋選項「使用萬用字元」
(4) 游標移到「取代為」
(5) 為保險起見,先按「不限定格式」
(6) 再按「格式->字型」設英文字型為 Times New Roman 斜體 12

(7) 按 OK 後再按「全部取代」即可




謝謝...
這也是一個很好的方法...^^...
這種方式是可行的,不過會有個問題發生,就是符號並沒有去處理。
原本我寫的那個程式會有個很大的問題就是,當非中文字(ASCII code)套用了中文的字型後,程式會無法處理到,或者會將非中文字當作是中文來處理,所以處理後的結果會有很大的問題存在,畢竟處理中文字會比處理英文字來的困難多了。
在中英文字混合的情況下,如果字型大小有做區別的話,版面看起來可能會有點奇怪。
以下是我重寫過來特別處理非中文字的程式,可以拿去試試,不過因為要處理成什麼樣子沒有描述的很詳細,所以可能要自行修改程式碼。

Sub ReplaceFont()
Dim intA As Integer
ActiveDocument.Range.Font.NameAscii = "Times New Roman"
ActiveDocument.Range.Font.NameFarEast = "新細明體"
ActiveDocument.Range.Font.Size = 14
For intA = 0 To 128
With Selection.Find
.ClearFormatting
.Text = ChrW(intA)
.Wrap = wdFindContinue
With .Replacement
.ClearFormatting
.Text = "^&"
.Font.Size = 12
.Font.Italic = True
End With
.Execute Replace:=wdReplaceAll
End With
Next
End Sub
uf4062tw wrote:
這種方式是可行的,不過會有個問題發生,就是符號並沒有去處理。

原需求是說英文及數字,因此[A-Za-z0-9]是比較精準的描述

uf4062tw wrote:
For intA = 0 To 128

1. 0~128 會有問題,可改取 1~127
2. 若要採用 Ascii 1~127 為搜尋條件,在我上述答覆中的「尋找目標」可改為:[^1-^127]
3. 手動操作可以做到的事建議不要用 Macro
處理好中文後
只要純處理英文字母+0~9+英文逗號和句號即可
下方為取代英文成大小12

Sub set_en_font_size()
Selection.Find.ClearFormatting
Selection.Find.Replacement.ClearFormatting
Selection.Find.Replacement.Font.Size = 12
With Selection.Find
.Text = "[a-zA-Z_,.0-9]"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = True
.MatchCase = False
.MatchWholeWord = False
.MatchByte = False
.MatchAllWordForms = False
.MatchSoundsLike = False
.MatchWildcards = True
End With
Selection.Find.Execute Replace:=wdReplaceAll
End Sub
不用這麼麻煩

把所有文字全選後,去下拉字型選單選則你要的中文字型
比如下圖,我是選標楷體,這樣全部中英文都會成為標楷體
然後再選一次Times New Roman,這樣英文+數字就變了,但是中文維持標楷體
因為Times New Roman無中文字型,所以不會變更


至於字體大小,你就要手動框選改!!
  • 2
內文搜尋
X
評分
評分
複製連結
Mobile01提醒您
您目前瀏覽的是行動版網頁
是否切換到電腦版網頁呢?