• 締切済み

Wordテンプレート一括変更でのサブフォルダ検索

ワードに使用されているテンプレートを一括でnormalに戻したいと考えています。 テンプレートを使用したファイルは、かなりの量があるため、Microsoftが公開している方法を用いて一括変更を試みましが、この方法では、1個づつフォルダを指定する必要があります。 そこで、指定したフォルダから下のサブフォルダも含めて変更できるようにするには、どのようにコードを書き換えればよろしいでしょうか? コードは、ワードのVBEに貼り付けて実行しています。 よろしくお願いいたします。 Dim strFilePath As String Dim strPath As String Dim intCounter As Integer Dim strFileName As String Dim OldServer As String Dim objDoc As Document Dim objTemplate As Template Dim dlgTemplate As Dialog Dim nServer As Integer OldServer = "enter the name of the Old Server" nServer = Len(OldServer) strFilePath = InputBox("What is the folder location that you want to use?") If Right(strFilePath, 1) <> "\" Then strFilePath = strFilePath & "\" strFileName = Dir(strFilePath & "*.doc") Do While strFileName <> "" Set objDoc = Documents.Open(strFilePath & strFileName) Set objTemplate = objDoc.AttachedTemplate Set dlgTemplate = Dialogs(wdDialogToolsTemplates) strPath = dlgTemplate.Template If LCase(Left(strPath, nServer)) = LCase(OldServer) Then objDoc.AttachedTemplate = NormalTemplate End If strFileName = Dir() objDoc.Save objDoc.Close Loop Set objDoc = Nothing Set objTemplate = Nothing Set dlgTemplate = Nothing

みんなの回答

回答No.1

重要な部分 FileSystemObject(通称 FSO)で再帰処理を行えば指定したフォルダ以下の末端まで掘りながら、全てのファイルを取得することができます。 検索キーワードは「fso」と「再帰」です。 http://www.google.com/search?hl=ja&lr=lang_ja&ie=UTF-8&oe=UTF-8&q=fso+%E5%86%8D%E5%B8%B0&num=50 ただしこのままでは doc ファイルのみならず全てのファイルを取得しますので、取得後にファイルの拡張子を調べ、「拡張子が doc なら処理をする」というように判断を入れてください。

関連するQ&A