
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
マクロを使ったプログラムまで組んでいただき、ありがとうございます。マクロの中身は良く分かりませんがご指示通りやってみたら・・・あら不思議!!!
本当にありがとうございました。
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
'-------ここまで--------------------------------------------------------
マクロを使ったプログラムまで組んでいただき、ありがとうございます。マクロの中身は良く分かりませんがご指示通りやってみたら・・・またまた、あら不思議!!!
本当にありがとうございました。
No.3
- 回答日時:
当方はバージョンが2002なので、違うかも知れませんが、
検索で英数文字を検索してあれば可能かと思います。
具体的には、メニューバーの「編集」→「検索」で検索ダイヤログを出します。
検索文字列に「^#」で数字が、「^$」で英字が検索できます。
例えば「^#」と入力します(「特殊文字」というボタンをクリックして「任意の数字」を選んでもOK)
このとき「オプション」を開いて、「あいまい検索」のチェックを外してください。
それと「見つかったすべての項目を強調表示する」にチェックを入れてください。
この状態で、「すべて検索」のボタンをクリックすると、数字が全て洗濯された状態になりますので、そのまま、「文字種の変換」で「半角」としてやれば、全て半角になります。
アドバイスありがとうございます。Word2000では、全選択でなく、カタカナのみの選択というのはできないようです。2002や2003はできるようですね。
No.1
- 回答日時:
お使いのIMEの設定で可能だと思います。
IMEの[設定]タブ中の[プロパティ]をクリック
[オートコレクト]タブをクリック
全角/半角の設定でカタカナや英数字を「常に全角(半角)に変換」とする
こんな感じでいかがでしょう?
早速のご連絡ありがとうございます。でも、ご指示の通り、IMEのプロパティから「カタカナを常に全角に変換」として、Wordの文の「全てを選択」して、「文字種の変換」で半角にチェックを入れてみると全てが半角に変わってしまいます。逆をやってみたのですが、それでも上手く行きません。設定の手順が違うのでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel 文字列の中から数字だけ...
-
半角の『°(単位の度)』
-
半角の×(かける)は?
-
半角スペース
-
℃の半角表示
-
テプラは半角数字が使えますか?
-
EXCEL95 VLOOKUP関数で半角と全角
-
エクセル関数で文字列の中のス...
-
EXCELで、セル内の半角カ...
-
問2 次の文中の空欄にあてはま...
-
契約書や 公文書・私文書などに...
-
メールアドレスの上ハイフン入...
-
ビジネスの文書における、数字...
-
エクセルで、JIS関数、ASC関数...
-
EXCELの文字列操作で文字数不足...
-
ヘッダー(フッター)の全角・...
-
ワードで論文を書こうと思うの...
-
Excel2016 検索の窓を常時表示...
-
エクセルでセルの連結の逆
-
WordをPDF化したら所々に半角ス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
℃の半角表示
-
契約書や 公文書・私文書などに...
-
半角の『°(単位の度)』
-
半角の×(かける)は?
-
Excel 文字列の中から数字だけ...
-
半角スペース
-
EXCEL95 VLOOKUP関数で半角と全角
-
EXCELの文字列操作で文字数不足...
-
EXCELで、セル内の半角カ...
-
テプラは半角数字が使えますか?
-
エクセル関数で文字列の中のス...
-
問2 次の文中の空欄にあてはま...
-
メールアドレスの上ハイフン入...
-
隅付き括弧に半角はありますか...
-
ビジネスの文書における、数字...
-
Excel2016 検索の窓を常時表示...
-
1, (1),(1)の使い分け
-
【VBA】ファイルパスに半角スペ...
-
エクセルで、JIS関数、ASC関数...
-
エクセルで 全角の空白を含む...
おすすめ情報