私はローカルディレクトリのファイルを検索しようとしていましたが、それがif関数の2番目のブロックと同じ名前で存在しない場合は、 i-1が存在する場合にのみRev i(iは反復番号1〜10)という名前で保存します。私はそれが理にかなっているかどうかわからないんだけど、私は自分のコードを添付しました(申し訳ありませんが、それは非常に長いです)ファイルが存在する場合はループ、次の繰り返しに進む
みんなありがとう:)
DirFile = Application.ActiveWorkbook.Path & "\" & QuoteNo & " - " & Client & " Rev " & i - 1 & ".docm"
For i = 1 To 10
If Dir(DirFile) <> "" Then
With objDoc
objDoc.Bookmarks("Quote").Select 'To place the Quote Number in the Word Template
.Application.Selection.Find.Text = "Quote "
.Application.Selection = QuoteNo & " - Revision " & i
End With
With objDoc
objDoc.Bookmarks("Footer").Select 'To place the Client Name in the Word Template
.Application.Selection.Find.Text = ""
.Application.Selection = Client & ": Rev. " & i
End With
Worksheets("Dewater - E&Q").UsedRange.Copy
objDoc.Activate
objDoc.Application.Run "EQAlign"
Application.CutCopyMode = False
objDoc.Application.Run "PrintLayout"
objDoc.SaveAs FileName:=Application.ActiveWorkbook.Path & "\" & QuoteNo & " - " & Client & " Rev " & i
Next i
Exit For
Else
With objDoc
objDoc.Bookmarks("Quote").Select 'To place the Quote Number in the Word Template
.Application.Selection.Find.Text = "Quote "
.Application.Selection = QuoteNo
End With
With objDoc
objDoc.Bookmarks("Footer").Select 'To place the Client Name in the Word Template
.Application.Selection.Find.Text = ""
.Application.Selection = Client
End With
Worksheets("Dewater - E&Q").UsedRange.Copy
objDoc.Activate
objDoc.Application.Run "EQAlign"
Application.CutCopyMode = False
objDoc.Application.Run "PrintLayout"
objDoc.SaveAs FileName:=Application.ActiveWorkbook.Path & "\" & QuoteNo & " - " & Client
End If
あなたは、このコードにすでに取り組んでいるものを伝えることができ、どの機能を追加したいですか?このコードはすべて問題の解決に関連していますか? – Limak
コードのインデントを使用すると、ForおよびIF構造が正しくないことがわかります。このコードは問題なくコンパイルされません。これは問題#1です。 – Rdster