No.3ベストアンサー
- 回答日時:
#1の回答者です。
#2ののお礼に出てくる記録マクロを見る限り、WordBasic が出てきているようですが、全ドキュメントを半角に変換するというのは、まずありえないと思います。
ただ、.FormatChangeCaseFareast は記録マクロに出てくるのかは知りませんが、そういうコマンドMSDNで(WordBasicでは関数)存在は確認していますが、コマンドとしては動かないはずですから、.FormatChangeCaseに、以下の引数を使うはずです。
5が半角
6が全角
後は、コマンドボタンに以下のマクロを登録すれば良いのではありませんか?
変換したい部分をマウスで選択して、ボタンをクリックすればよいと思います。
Sub hankaku()
WordBasic.FormatChangeCase Type:=5
End Sub
もともと、何を半角にするという対象が明らかにされていませんので、#1で書いたマクロ自体は、無意味かもしれません。対象が決まっていないものに対しては、マウス選択すればよいわけで、おっしゃるように、コマンドを短縮する目的なら、既存のツールボタンをツールバーに貼りつけてもよいと思います。
ツール--ユーザー設定--コマンド--分類の中の「すべてのコマンド」
コマンドの中の「FormatChangeCase」を選択して、ツールボタンにドラッグすればよいです。他ダイアログまでは出せるようになります。
なお、Mac Office 2004は、VBAは使えるはずですが、
>コードの最初の1行目「Sub ReplaceFontWidh()」の部分が黄色になっています。
というエラーはこちらでは、分かりません。たぶん、VBAは、正しくVBAが動く状態ではないように思われますので、こちらでは、最初からの設定のような気がしますが、それはこちらでは不可能です。
#1のコードには問題ないはずですが、エラーの発生する可能性を見つけましたので、それは提示しておきます。
.MatchFuzzy = False '←MatchWildcarsの前にをいれたほうがよいです。
.MatchWildcards = True
基本的には、ThisDocument モジュールか、そのDocument の標準モジュールに登録することを想定されています。Normal.dot に登録する場合は、ファイルが書き換えられるようになっているか、チェックしたほうがよいはずです。
Wendy02様
重ね重ねすみません、丁寧なご解答、真にありがとうございます。
お教えいただいた
Sub hankaku()
WordBasic.FormatChangeCase Type:=5
End Sub
を実行したところ「実行時エラー’159’: いずれかのフィールドの値が大きすぎます」と出てしまいました。が、Windows XPのWord2003で試したところ、出来ました!まさに望み通りのものでした。ありがとうございます!!
出来なかった原因がわからないのですが…MacとWindowsでは違うのでしょうか。。Windowsで出来てMacで出来ない事が割とあるように感じます…。
基本作業はMacなのですが、Windowsの担当にwordファイルを渡し、Wendy02にお教えいただいた方法を教え、効率化を図ることができました。本当にありがとうございました!
No.2
- 回答日時:
範囲選択が行われて無いか、不適当では無いですか。
Selection.・・からマクロが始まっているとか。Selection.WholeStory(全文選択の意味ですが。)をマクロの最初に入れてみて実行してどうなりますか。
エクセルのようにセルと番地が明確な仕組みでなくて、ワードは範囲選択が色々ありプログラムの制御は難しい場合も多いので、人間側の操作に範囲選択を残さざるをえないこともあろう。
imogasi様 ご解答ありがとうございました。
私の記録したマクロのコードを見ましたら
Sub hankaku()
Selection.WholeStory
WordBasic.FormatChangeCaseFareast Type:=0
End Sub
となっており、imogasi様のおっしゃるようにSelection.WholeStoryは最初にきているのですが、実行しても何もおきない状態となっております。
やはり手動でテキストを全選択し、メニューの「書式」→「文字種の変換」→「全角/半角オプション」で「半角に変換する」しかないのでしょうか。。
ワードはなかなかプログラムの制御は難しいのですね。勉強になりました。ありがとうございます。
No.1
- 回答日時:
マクロの記録は出来るのかはわかりません。
FindChar = "[0-9]{1,}" '検索のワイルドカードを入れる
数字の半角 意味:全角の0から9までを、ひとつ以上のあるものを検索する
-半角でつなぐ時には、必ず、文字コードが小さいものから大きなものになるようにしてください。文字コードは、Unicodeですから、間違えないようにしてください。
ワイルドカード
"[0-9]{1,}" <--半角[全角0 半角- 全角9 半角] 後は半角{1,}
検索して、該当した物を
'//
Sub ReplaceFontWidth()
Dim FindChar As String
Selection.HomeKey Unit:=wdStory
FindChar = "[0-9]{1,}" '検索のワイルドカードを入れる
If FindChar = "" Then MsgBox "文字列を入れてください。": Exit Sub
With Selection.Find
.ClearFormatting
.Text = FindChar
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchSoundsLike = False
.MatchAllWordForms = False
.MatchWildcards = True
Do While .Execute
Selection.Range.CharacterWidth = wdWidthHalfWidth
Selection.Collapse wdCollapseEnd
Loop
End With
End Sub
Wendy02様 ご解答ありがとうございました。
頂きましたコードをVisual Basic Editorにペーストをし、
マクロの部分に「ReplaceFontWidh」と出ましたので、それを実行したのですが
「コンパイルエラー メソッドまたはデータメンバーが見つかりません」と
エラーが出てしまいました。。コードの最初の1行目「Sub ReplaceFontWidh()」の部分が黄色になっています。せっかく教えていただいたのに申し訳ありません、コードの記述に関してほとんど知識がないもので…原因がわかりますでしょうか。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(Microsoft Office) WordやExcelで英数字のみ半角または全角にしたい 6 2022/08/03 08:18
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 2 2023/07/15 15:48
- Excel(エクセル) エクセルシート中の全角英数字を半角に変換したい 4 2022/07/07 13:14
- Excel(エクセル) 【マクロ】フォルダを3つ、POモニター上に、決まった並べ方をしたい 4 2022/08/31 11:05
- Mac OS Macの変換ですが、一発で半角英字に変換する方法は無いですか? 3 2022/04/10 22:19
- Excel(エクセル) 【マクロ】フォルダAからダBへファイルを、ファイルの更新日時の条件で、1つづつ移動するには? 3 2022/08/25 09:56
- Excel(エクセル) 【マクロ】フォルダを2つのモニターの定位置に並べたい 2 2022/09/02 01:14
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テプラは半角数字が使えますか?
-
EXCEL95 VLOOKUP関数で半角と全角
-
Excel2016 検索の窓を常時表示...
-
半角の『°(単位の度)』
-
関数を使わずに一括で全角を半...
-
契約書や 公文書・私文書などに...
-
半角の×(かける)は?
-
メールアドレスの上ハイフン入...
-
℃の半角表示
-
EXCELの文字列操作で文字数不足...
-
エクセル関数で文字列の中のス...
-
半角スペース
-
EXCELで、セル内の半角カ...
-
Excel 文字列の中から数字だけ...
-
エクセルで、JIS関数、ASC関数...
-
エクセル 全角英文字のみを半...
-
ヘッダー(フッター)の全角・...
-
【VBA】ファイルパスに半角スペ...
-
InputBoxの入力値を半角数字の...
-
お名前(姓)」には「カタカナ(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テプラは半角数字が使えますか?
-
契約書や 公文書・私文書などに...
-
メールアドレスの上ハイフン入...
-
半角スペース
-
半角の『°(単位の度)』
-
半角の×(かける)は?
-
℃の半角表示
-
EXCELの文字列操作で文字数不足...
-
EXCEL95 VLOOKUP関数で半角と全角
-
関数を使わずに一括で全角を半...
-
エクセル関数で文字列の中のス...
-
【VBA】ファイルパスに半角スペ...
-
半角の漢字の入力方法
-
EXCELで、セル内の半角カ...
-
Excel 文字列の中から数字だけ...
-
ビジネスの文書における、数字...
-
1, (1),(1)の使い分け
-
Excel2016 検索の窓を常時表示...
-
Excel セル内の文字と数字をわ...
-
エクセルで、JIS関数、ASC関数...
おすすめ情報