• ベストアンサー

Wordでカタカナのみを全角にする方法

Word2000です。全角、半角が混在している文で、英数文字だけを半角文字にしたいのですが、文字種の変換で、「半角」にチェックを入れるとカタカナまで半角になってしまいます。カタカナは全角のままで残したいのですが、良い方法はないものでしょうか。 次のどちらかの方法ができれば良いと思うのですが・・・ 1.カタカナのみを全角にする方法 2.英数文字のみを半角にする方法 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

カタカナの場合は、 [。-゜]{1,}を検索にして、そこで、全角に変換 (ただし、Webの都合で、全角に書かれていますが、本来は、中は半角です) 英数の場合は、 [0-z]{1,}を検索にして、そこで、半角にに変換 というようにすればよいです。 一応、マクロにしてみました。マクロが読めれば、その考え方は、お分かりになると思います。 Alt+F11 で、Visual Basic Editor 画面を出して、挿入、「標準モジュール」(ThisDocument でも可)に以下を貼り付けます。もし、片方だけ使いたい場合は、Sub 全角半角変換マクロ()の中の行を削除するか、行頭に「'(アポストロフィ)」をつけてください。後は、[ツール]-[マクロ]-[マクロ](または、Alt+F8)で、「全角半角変換マクロ」をクリックしてください。 '<標準モジュール> Sub 全角半角変換マクロ()  Call Hankaku2Zenkaku  Call Zenkaku2Hankaku End Sub Private Sub Hankaku2Zenkaku() '全角へ Dim t As Long, myMsg As String Dim ch1 As String, ch2 As String Selection.HomeKey Unit:=wdStory '文書の先頭に ch1 = Chr(161) '半角の「。」 ch2 = Chr(223) '半角の「゜」 On Error GoTo Errmsg: With Selection.Find   .ClearFormatting   .Text = ""   .Replacement.Text = ""   .MatchFuzzy = False   '設定をクリア While .Execute(FindText:="[" & ch1 & "-" & ch2 & "]{1,}", _   Wrap:=wdFindContinue, MatchWildcards:=True) = True   Selection.Range.CharacterWidth = wdWidthFullWidth   'ここで、文字を全角に変換している   t = t + 1   If t = 0 Then GoTo Msg Wend Msg:    Selection.HomeKey Unit:=wdStory '文書の先頭に    If t > 0 Then     myMsg = t & "語、変換しました。"    Else     myMsg = "変換するべき半角はありません"    End If    MsgBox myMsg, , Title:="半角から全角へ" End With   Exit Sub Errmsg:   MsgBox "エラー!: " & Err.Description, vbExclamation End Sub Private Sub Zenkaku2Hankaku() '半角へ Dim t As Long, myMsg As String Dim ch1 As String, ch2 As String Selection.HomeKey Unit:=wdStory '文書の先頭に ch1 = "0" ch2 = "z" On Error GoTo Errmsg: With Selection.Find   .ClearFormatting   .Text = ""   .Replacement.Text = ""   .MatchFuzzy = False   '設定をクリア While .Execute(FindText:="[" & ch1 & "-" & ch2 & "]{1,}", _   Wrap:=wdFindContinue, MatchWildcards:=True) = True   Selection.Range.CharacterWidth = wdWidthHalfWidth   'ここで、文字を半角に変換。   t = t + 1   If t = 0 Then GoTo Msg Wend Msg:    Selection.HomeKey Unit:=wdStory '文書の先頭に    If t > 0 Then     myMsg = t & "語、変換しました。"    Else     myMsg = "変換するべき全角はありません"    End If    MsgBox myMsg, , Title:="全角から半角へ" End With   Exit Sub Errmsg:   MsgBox "エラー!: " & Err.Description, vbExclamation End Sub

take103
質問者

お礼

マクロを使ったプログラムまで組んでいただき、ありがとうございます。マクロの中身は良く分かりませんがご指示通りやってみたら・・・あら不思議!!! 本当にありがとうございました。

その他の回答 (4)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.5

こんにちは。KenKen_SP です。 #4 の Wendy02 さんとカブるかもしれませんが、VBA コードの書き方にはいろ いろな方法があるということで、、、一案です。 変換部に StrConv 関数を使用し、サブルーチン化してありますので、例えば、 全角カナのみひらがなにする(需要はないでしょうが)なんてカスタマイズが し易いと思います。 【手順】 1. [Alt]+[F11]キー押下で、Visual Basic Editor(以下 VBE)が起動 2. 左側ツリーで Normal.dot を選択 3. [挿入]-[標準モジュール]クリック 4. 開いたスペースに、下記コードをコピー&ペースト 5. VBE を閉じる 以上が完了したら、処理の対象となる文書を開き、[Alt]+[F8]キーを押して、 マクロを実行します。 '-------ここから-------------------------------------------------------- Sub 半角カナのみ全角化()   Dim strPattern As String   '句読点や括弧も含める場合、&HA6を&HA1に変更   strPattern = "[" & Chr(&HA6) & "-" & Chr(&HDF) & "]{1,}"   StrConvertCase strPattern, vbWide End Sub Sub 英数のみ半角化()   Dim strPattern As String   strPattern = "[" & Chr(&H824F) & "-" & Chr(&H829A) & "]{1,}"   StrConvertCase strPattern, vbNarrow End Sub '変換メイン Private Sub StrConvertCase( _   ByVal strPattern As String, ByVal lngCase As Long)   Selection.Find.ClearFormatting   With Selection.Find     .Text = strPattern     .Replacement.Text = ""     .Forward = True     .Wrap = wdFindContinue     .MatchFuzzy = False     .MatchWildcards = True   End With   Do While Selection.Find.Execute     Selection.Text = StrConv(Selection.Text, lngCase)     Selection.Collapse wdCollapseEnd   Loop End Sub '-------ここまで--------------------------------------------------------

take103
質問者

お礼

マクロを使ったプログラムまで組んでいただき、ありがとうございます。マクロの中身は良く分かりませんがご指示通りやってみたら・・・またまた、あら不思議!!! 本当にありがとうございました。

回答No.3

当方はバージョンが2002なので、違うかも知れませんが、 検索で英数文字を検索してあれば可能かと思います。 具体的には、メニューバーの「編集」→「検索」で検索ダイヤログを出します。 検索文字列に「^#」で数字が、「^$」で英字が検索できます。 例えば「^#」と入力します(「特殊文字」というボタンをクリックして「任意の数字」を選んでもOK) このとき「オプション」を開いて、「あいまい検索」のチェックを外してください。 それと「見つかったすべての項目を強調表示する」にチェックを入れてください。 この状態で、「すべて検索」のボタンをクリックすると、数字が全て洗濯された状態になりますので、そのまま、「文字種の変換」で「半角」としてやれば、全て半角になります。

take103
質問者

お礼

アドバイスありがとうございます。Word2000では、全選択でなく、カタカナのみの選択というのはできないようです。2002や2003はできるようですね。

noname#252648
noname#252648
回答No.2

当方2003ですが 参考になれば幸いです。 全選択ではなく、カタカナをすべて選択してから文字種の変換で出来ると思います。 英数文字も同様で大丈夫だと思います。 #1さんの回答は入力時の設定ですので、これから作成される時に便利に使えると思います。

take103
質問者

お礼

アドバイスありがとうございます。Word2000では、全選択でなく、カタカナのみの選択というのはできないようです。2002や2003はできるようですね。

  • higupapa
  • ベストアンサー率39% (48/121)
回答No.1

お使いのIMEの設定で可能だと思います。 IMEの[設定]タブ中の[プロパティ]をクリック [オートコレクト]タブをクリック 全角/半角の設定でカタカナや英数字を「常に全角(半角)に変換」とする こんな感じでいかがでしょう?

take103
質問者

お礼

早速のご連絡ありがとうございます。でも、ご指示の通り、IMEのプロパティから「カタカナを常に全角に変換」として、Wordの文の「全てを選択」して、「文字種の変換」で半角にチェックを入れてみると全てが半角に変わってしまいます。逆をやってみたのですが、それでも上手く行きません。設定の手順が違うのでしょうか。

関連するQ&A

  • ワードで数字の全角を半角に(カタカナは全角のままで)変換するには?

    ワードに100ページの文章があります。全角数字が散在しています。全角数字を半角に直したく、半角操作をかけるとカタカナも半角に変換されてしまいます。数字だけ変換されるようにするには、どのようにしたらいいのでしょうか。ワードの、書式メニュー→文字種の変換→半角、で操作をおこないました。

  • 全角と半角を統一する関数

    エクセルの関数で、半角英数文字・全角英数文字や、半角カタカナと全角カタカナが混じっている表で、全角に変換して統一できるような関数や方法があれば教えてください。

  • Word入力で今まで全角カタカナ入力していてCaps Lockを押すと

    Word入力で今まで全角カタカナ入力していてCaps Lockを押すと全角英数になっていたのに あるときからCaps Lockを押すと半角英数になってしまうようになりました。 元通り全角カタカナ入力からCaps Lockを押したら全角英数になるように設定したいのですが どうすればいいでしょうか? いちいち半角→全角に切り替えないといけなくなって困っています。

  • IME98 F9で全角英数変換できません。

    タイトルのとおりです。 IME98ですが、office2000のワードやエクセル使用中、文字入力し、F9で全角英数変換しようとしても全角のカタカナに変換されてしまいます。F10は半角カタカナに変換されてしまいますし。。。 IME98ツールバーからプロパティ-詳細設定-キー設定でF9が全角英数変換に割り当てられていることも確認しています。(って言うか、デフォルトのままです。。。) 何か方法はないでしょうか!?!?!?

  • WORD2003を使っています。

    WORD2003を使っています。 直接入力という状態は、入力された半角英数字がそのまま使用され、 それがひらがなやカタカナや漢字、または全角文字に変換される事はない、 という状態と解釈しております。 確かに半角英数で英字を入力すると、下線が出て変換可能な状態での入力になります。 直接入力は下線が表示されないので変換できないのかと思えば、変換キーを押すことで全角半角大文字小文字への変換は可能になりますよね? これだと直接入力と半角英数との違いが不明確なのですが、この二つの決定的な違いというのは何でしょうか?

  • 半角カタカナを全角カタカナに変換したい

    Windows2000/Microsoft Excel2000です。 入力されている文字列のカタカナが半角になっているのを 全角に一括変換する数式はありますでしょうか? 英数字は半角のまま残したいのですが。 JISを使うと英数字も全角になってしまいます。 ヘルプいただけると大変助かります。

  • Wordで半角を全角に置換した部分を色づけしたい

    Word2000を使用しています。 文章中に半角と全角文字が混在しているので、半角文字を全角に統一したいと思います。「文字種の変換」で半角を全角に変換できますが、変換した部分を 着色してわかるようにすることはできないのでしょうか。 例えば、 「千代田区1-2-3 abcホール」を 「千代田区1-2-3 abcホール」 と変換したい。(『1-2-3 abcホール』の部分を着色) 個々の文字は「置換」で文字を指定すれば、「書式」で色をつけることができるのはわかったのですが、いちいち、文字を指定するのは大変です。いろいろ試したのですが、やはりこれはできないのでしょうか。

  • カタカナのみを半角から全角に変換したいのですが

    VBAについて教えてください。 文字をHPにアップできるように、カタカナのみを半角から全角に変換したいのですが 何か良い方法はありますか? 文字は英字・ひらがな・カタカナ・漢字がランダムに入っています。 例えば Sub test() Dim a As String a = "aaaアアア<>BBB" End Sub の状態で。「アアア」のみを全角にするにはどうすればいいでしょうか? アルファベットは半角のままにしたいです。

  • Excel カタカナと英数字の混在セルでカタカナのみ全角にする

    同じセルの中に、半角カタカナと英数字が混在しています。 カタカナのみ全角にし、英数字は半角の設定のままにする関数を教えてください。 アイウエABCショウジ(半角カタカナ+半角英数字) ⇒ アイウエABCショウジ(全角カタカナ+半角英数字)

  • 半角/全角 キーを押すとカタカナが出てくるようになりました

    以前は、ひらがなが入力出来る状態の時に半角/全角 キーを押すと半角英数文字を入力できるようになりました。ところが、今では半角/全角 キーを押すと半角のカタカナが入力されるようになってしまったのです。どうしたら元通りになるのでしょうか。お分かりの方いらっしゃいましたら、どうかお教えください。

専門家に質問してみよう