ドキュメントからスペルミスのある単語をコンパイルする(Microsoft Word)
Robertには、多くのドキュメントが含まれているフォルダがあります。彼は、スペルミスのある単語をすべてドキュメントから取り出して、それらの単語を新しいドキュメントに配置する方法を望んでいます。
幸い、Wordではマクロを使用することでこれを比較的簡単に行うことができます。
これは、VBAで.SpellingErrorコレクションを調べることでスペルミスにアクセスできるためです。この特別なコレクションの各項目は、ドキュメントのスペルミスを表しています。
これを念頭に置いて、次のマクロは、フォルダ内の各ドキュメントからすべてのスペルミスをまとめる方法を示しています。
Sub CheckFolderForSpellErrors() 'Copy all misspelled words in each document 'from one directory to a new document. 'Also lists all documents that have no spelling errors Dim cWords As New Collection Dim cDocs As New Collection Dim vItem As Variant Dim rng As Range Dim docSourse As Document Dim docNew As Document Dim vDirectory As String Dim vFile As String Dim bNoSpellingErrors As Boolean Application.ScreenUpdating = False vDirectory = "C:\MyFolder\" ' Path to check ' Find first file to check vFile = Dir(vDirectory & ".doc") Do While vFile <> "" Documents.Open FileName:=vDirectory & vFile Set docSource = ActiveDocument If docSource.SpellingErrors.Count > 0 Then cWords.Add Item:="Spelling errors found in " & vFile & vbCrLf ' add each word to the collection For Each rng In docSource.SpellingErrors cWords.Add Item:=rng.Text & vbCrLf Next Else ' doc has no spelling errors bNoSpellingErrors = True cDocs.Add vFile & vbCrLf End If ActiveDocument.Close (wdDoNotSaveChanges) vFile = Dir Loop Set docNew = Documents.Add For Each vItem In cWords Selection.TypeText vItem Next If bNoSpellingErrors Then Selection.TypeText "These documents have no spelling errors." & vbCrLf For Each vItem In cDocs Selection.TypeText vItem & vbCrLf Next End If Application.ScreenUpdating = True End Sub
マクロは、Dirコマンドを使用して、指定されたフォルダー(vDirectory変数)内で「doc」のバリアントで終わるファイルを検索します。これらの各ファイルは、順番にWordに読み込まれます。ロード中、.SpellingErrorsコレクションは、エラーが含まれているかどうかを確認するためにチェックされます。含まれている場合は、スペルが間違っている単語のテキストがcWordsコレクションに追加されます。そうでない場合は、ファイル名がcDocsコレクションに追加されます。
cWordsコレクションとcDocsコレクションのどちらについても特別なことは何もありません。これらは、ファイルを調べたときに発見されたスペルミスやファイル名を保持するためだけに作成されました。マクロは、コレクションの代わりに変数配列を簡単に使用できます。
このマクロを実行する際に留意すべき点がいくつかあります。
まず、フォルダ内のドキュメントの数と各ドキュメントの長さによっては、実行にかなりの時間がかかる場合があります。マクロを実行したとき、1つのドキュメントあたり平均約97ページの9つのドキュメントを含むフォルダーで実行しました。マクロの実行が完了するまでに8分弱かかりました。実行中は、Wordで他に何もできませんでした。 (実際、システムが「ハング」しているかどうか疑問に思うかもしれません。)
覚えておくべきもう1つのことは、出力が非常に長くなり、かなり冗長に見える可能性があることです。これは、スペルミスのある単語が.SpellingErrorsコレクションに複数回出現する可能性があるためです。たとえば、「Cftype」という単語を含むドキュメントがあるとします。この単語には、明らかにスペルミスのフラグが付けられています。単語がドキュメントで30回使用されている場合、その単語には30回のフラグが付けられるため、スペルミスリストに30回表示されます。このヒントの範囲を超えていますが、マクロを変更して、単語に以前にスペルミスのフラグが付けられているかどうかを確認し、それが一意のスペルミスである場合にのみ追加することができます。
注:
このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]
。
_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。
(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(13488)は、Microsoft Word 2007、2010、2013、および2016に適用されます。