2014-09-17 2 views
0

Excel 스크립트에서 문서 파일을 만들어 pdf 파일로 저장하려고합니다. 문서를 만드는 것은 문제없이 진행되지만 pdf 파일로 저장하는 데 적합한 코드를 찾는 것이 문제인 것 같습니다. 나는 인터넷을 검색 한 모두가 동일한 코드에 와서 같은 질문에 많은 매뉴얼과 답변이 있습니다 : 어떻게 든VBA - Excel에서 pdf로 Word doc 저장 - 명명 된 인수가 없습니다.

ActiveDocument.ExportAsFixedFormat OutputFileName:= _ 
ActiveDocument.Path & "\" & ActiveDocument.Name & ".pdf", ExportFormat:= _ 
wdExportFormatPDF, OpenAfterExport:=False, OptimizeFor:= _ 
wdExportOptimizeForPrint, Range:=wdExportAllDocument, _ 
Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ 
CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ 
BitmapMissingFonts:=True, UseISO19005_1:=False 

그것은 나를주기 때문에 즉, 나를 위해 트릭을하지 않는 것은 오류 "명명 된 인수를 찾을 수 없습니다". 여기에 내 스크립트가있다. (나는 관련없는 라인을 빠뜨 렸고 경로와 파일 이름이 올바르게 저장되었다고 확신한다.)

'Dim Word formfield values 
Dim objWord As Object 
Dim strDocName As String, strDocName1 As String, strDocName2 As String 
Dim strMyPath As String 

'Declare Word variables 
Set objWord = CreateObject("word.application") 
objWord.Visible = True 

With objWord.activedocument 
    'fill in a bunch of formfields 

    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=strMyPath & "\" & strDocName2, _ 
    OpenAfterExport:=False 
    .Close 
End With 

내가 뭘 잘못하고 있니?

답변

2

Excel이 작동하지 않는 이유는 Excel에서 wdExportAllDocument 또는 wdExportCreateNoBookmarks과 같이 Word의 상수 값이 무엇인지 알 수 없기 때문입니다.

그 코드를 작동하게하기 위해, 당신은 마이크로 소프트 워드 14.0 "옆에"도구 "--->"참조 ... "을 클릭 한 다음 체크 박스를 클릭하여 프로젝트에 참조을 추가해야 개체 라이브러리 ". 그런 다음 질문 맨 위에 게시 한 코드의 정리 된 버전을 사용할 수 있습니다. ActiveDocument과 같은 전역 변수는 Excel에 존재하지 않으므로 대신 objWord.ActiveDocument을 사용해야합니다. 또한, 귀하의 경우에 대비하여 초기 바인딩 (코드 차이를 설명하기 위해 here 참조)을 사용하도록 코드를 전환하여 인텔리 센스를 갖도록 제안 할 것입니다. 이렇게하면 잘못 입력하여 발생하는 번거로운 오류를 방지 할 수 있습니다.

0

고맙습니다. 블랙 호크!

그동안 다른 해결책을 찾았습니다. 나는 다른 객체 (objWordDoc) 변수를 필요로하고 내가 함께 "objWord.activedocument으로"대체했습니다

Set objWordDoc = objWord.Documents.Add(strDocToOpen) 

With objWordDoc 

그럼에도 불구하고 당신의 제안은 확실히 미래에 편리 올 것이다!

관련 문제