- ベストアンサー
ワード文書の改行とスペースを削除し、全角に統一する方法
- ワード文書の改行とスペースを削除し、全角に統一する方法について教えてください。
- フォルダ内の全ワード文書に対して一括で処理する方法を教えてください。
- ワード文書はメモ帳で作成されていたものをリネームソフトで拡張子を.docに変換しています。書式なし形式では使えない機能が含まれていると警告が表示されますが、問題ありませんか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
以下のソースでできるのではないかと思います。 >あとどのワードからでもマクロは起動可能なのでしょうか? 「どのワードから」というのが不明ですが、Word起動後、標準モジュール内に下記コードを貼り付けて下さい。 Sub henkan() Dim myPath Dim crrFile myPath = "c:\文書\" crrFile = Dir(myPath) Do Until crrFile = "" If Right(crrFile, 4) = ".doc" Then ChangeFileOpenDirectory myPath Documents.Open FileName:=crrFile Selection.WholeStory Application.DisplayAlerts = wdAlertsNone With Selection.Find '[改行削除処理] .ClearFormatting .Replacement.ClearFormatting .Text = "^p" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False .Execute Replace:=wdReplaceAll End With With Selection.Find '[スペース削除処理] .ClearFormatting .Replacement.ClearFormatting .Text = "^w" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False .Execute Replace:=wdReplaceAll End With Selection.WholeStory Selection.Range.CharacterWidth = wdWidthFullWidth '[半角→全角変換処理] ActiveDocument.SaveAs FileName:=crrFile, FileFormat:=wdFormatText, AddToRecentFiles:=True Application.DisplayAlerts = wdAlertsAll ActiveWindow.Close End If crrFile = Dir Loop End Sub
その他の回答 (1)
- kigoshi
- ベストアンサー率46% (120/260)
置換や変換はマクロの記録などでコード解るかと思いますので、 全体の構成のコード例を以下に示します。 ご参考になれば。 Sub henkan() Dim myPath Dim crrFile myPath = "c:\文書\" crrFile = Dir(myPath) Do Until crrFile = "" If Right(crrFile, 4) = ".doc" Then ChangeFileOpenDirectory myPath Documents.Open FileName:=crrFile Selection.WholeStory [改行削除処理] [スペース削除処理] [半角→全角変換処理] Application.DisplayAlerts = wdAlertsNone ActiveDocument.SaveAs FileName:=crrFile, FileFormat:=wdFormatText, AddToRecentFiles:=True Application.DisplayAlerts = wdAlertsAll ActiveWindow.Close End If crrFile = Dir Loop End Sub
補足
ご回答ありがとうございます。ためしに[改行削除処理]を記録したのが下のコードです。 どういう形ではさめばよいのでしょうか? あとどのワードからでもマクロは起動可能なのでしょうか? Sub Macro1() Selection.WholeStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = "^p" .Replacement.Text = "" .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = False End With Selection.Find.Execute Replace:=wdReplaceAll End Sub
お礼
ご回答ありがとうございます。 無事に作動してくれました。