こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

WORDのワイルドカード置換について

WORDで、ワイルドカード[0-9]で半角数字を検索し(検索は出来ました)、これを全角数字に置換したいとき、置換後の文字列はどういう風に入力したらよいでしょうか。全角数字の表示形式が分かりません。[0-9]では出来ませんでした。
文字種の変換で行うしかないのでしょうか?

投稿日時 - 2006-12-28 00:12:40

QNo.2629832

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

こんにちは。

もとのマクロは、全角を半角にするためのものだったので、全角to半角という名前になっています。なるべく標準モジュールのほうがよいのですが、ThisDocument でも可能です。

 Zenkaku2Hankaku "0", "9"  
 
 0 と 9 は、半角と半角。0と9 なら、全角と全角で
かならず、範囲になるようにしてください。その部分に半角を入れれば、全角に、
全角を入れれば、半角に変換されます。

'--------------------------------------------------------------
Sub HenKanMainMacro()
 '必ず、引数は、範囲に囲まれていることが条件です。
 Zenkaku2Hankaku "0", "9"
End Sub

Private Sub Zenkaku2Hankaku(ch1 As String, Optional ch2 As String, Optional blnShp As Variant)
'ch1 検索ワイルドカードのはじめ、ch2 検索ワイルドカードの終わり
'blnShp =False 半角へ/True 全角へ
Dim myMsg As String
Dim mWhat As String
Selection.HomeKey Unit:=wdStory '文書の先頭に

On Error GoTo Errmsg:
With Selection.Find
  .ClearFormatting
  .Text = ""
  .Replacement.Text = ""
  .MatchFuzzy = False
  '設定をクリア
If ch2 <> "" Then
  mWhat = "[" & ch1 & "-" & ch2 & "]{1,}"
Else
  mWhat = ch1
End If
If IsMissing(blnShp) Then
If StrComp(StrConv(ch1, vbWide), ch1, vbBinaryCompare) = 0 Then
  blnShp = False
Else
  blnShp = True
End If
End If
While .Execute(FindText:=mWhat, _
  Wrap:=wdFindContinue, MatchWildcards:=True) = True
  If blnShp = False Then
  Selection.Range.CharacterWidth = wdWidthHalfWidth
  'ここで、文字を半角に変換。
  Else
  Selection.Range.CharacterWidth = wdWidthFullWidth
  'ここで、文字を全角に変換。
  End If
  
Wend
End With
  Exit Sub
Errmsg:
  MsgBox "エラー!: " & Err.Description, vbExclamation
End Sub
'--------------------------------------------------------------

投稿日時 - 2006-12-29 13:59:35

ANo.1

ワイルドカードを使用した場合、特定の半角数字を全角にするならば
置換だけで済みますが、[0-9]のように範囲を指定した場合は置換だけ
では無理ですね。

Word2002以降ならば[検索]を使用して出来ます。置換と同じように検索
内容を指定します。
[見つかったすべての項目を強調表示する]にチェックを入れ[OK]します。
このままの状態で[文字種の変換]を使用して[半角]を指定して下さい。

Word2000以前の場合はマクロを使用するか、個々の数字を置換する方法
をしたほうが確実ですね。こういうものを使用すれば簡単かも↓。
http://www7.plala.or.jp/hikita/sidea/program/vb/mcrtool_wd.html

投稿日時 - 2006-12-28 15:09:46

あなたにオススメの質問