2013-03-20 6 views
1

머리글과 바닥 글을 변경해야하는 약 100 개의 문서가 있습니다.많은 단어 문서에 머리말과 꼬리말을 추가 하시겠습니까?

난 워드 파일에 VBA 코드 또는 매크로를 작성하여 그것을 바로 할 수있는 가능성이 있습니까?

는 그 바닥 글에있는 모든 문서에 머리글과 바닥 글을 추가 할 것이다 매크로에서 특정 폴더를 제공 할 수 있습니까?

아래의 코드를 사용하면 기존 .FileSearch 속성을 사용하는 시도가 제공하는 코드에서 나에게

오류 5111

Private Sub Submit_Click() 

     Call openAllfilesInALocation 

End Sub 


Sub openAllfilesInALocation() 
Dim i As Integer 
With Application.FileSearch 
.NewSearch 
.LookIn = "C:\MyFolder\MySubFolder" 
.SearchSubFolders = False 
.FileName = "*.xls" 
.Execute 
For i = 1 To .FoundFiles.Count 
'Open each workbook 
Set Doc = Documents.Open(FileName:=.FoundFiles(i)) 
'Perform the operation on the open workbook 
'wb.Worksheets("sheet1").Range("A1") = Date 
'Save and close the workbook 
With ActiveDocument.Sections(1) 
    .Headers(wdHeaderFooterPrimary).Range.Text = "Header goes here" 
    .Footers(wdHeaderFooterPrimary).Range.Text = "Footer goes here" 
End With 

Doc.Save 
Doc.Close 
'On to the next workbook 
Next i 
End With 
End Sub 
+1

나는 YES 대답! 아무 것도 시도하지 않고 어떤 도움이 필요하면 도움을 청하는 경우 –

+0

Kaz Jaw가 코드를 확인하십시오 .... iam get 5111 error ... –

답변

3

을 제공합니다. 그것은 MS 오피스 2003까지 작동했지만 지금은 아니 었습니다. 여기에 코드가 개선되었습니다. 처리 할 하나 또는 몇 개의 파일을 선택할 수있는 표준 파일 창이 열립니다. 귀하의 질문에 모두 들어

Sub openAllfilesInALocation() 
Dim Doc 
Dim i As Integer 

Dim docToOpen As FileDialog 
Set docToOpen = Application.FileDialog(msoFileDialogFilePicker) 
    docToOpen.Show 

For i = 1 To docToOpen.SelectedItems.Count 
'Open each document 
Set Doc = Documents.Open(FileName:=docToOpen.SelectedItems(i)) 

With ActiveDocument.Sections(1) 
    .Headers(wdHeaderFooterPrimary).Range.Text = "Header goes here" 
    .Footers(wdHeaderFooterPrimary).Range.Text = "Footer goes here" 
End With 

Doc.Save 
Doc.Close 

Next i 

End Sub 
+0

KazJaw .... 덕분에 .... 도움이되었습니다. 나에게 큰 시간 .... –

+0

Google에서이를 찾는 사람들에게 헤더 및 푸터 (Headers & Footers) 수정/액세스에 대한 MSDN의 기사는 이에 대한 좋은 찬사입니다. http://msdn.microsoft.com/en-us/library/ff194253(v=office.14).aspx – Kyle

관련 문제