2012-02-16 2 views
0

Word (또는 Excel) 2007+에서 파일을 저장할 때 실행되는 매크로를 만들려고합니다. 매크로는 실행 여부를 결정하기 위해 파일의 이름/위치를 검사 할 필요가 없으며 파일 이름이 체크 아웃되면 (아마도 '_temp'가 추가되었거나 \ temp 폴더에 존재하기 때문에) 저장하고 저장할 것입니다 이 파일은 Word에서도 동일한 이름을 가진 PDF로 저장되지만 .pdf 확장명으로 저장됩니다. 가급적이면 PDFing을 저장하기 전에 수행하고 싶습니다만, 나는 번거롭지 않습니다. Word 클라이언트에 이미 SaveAsPDForXPS 플러그인이 설치되어 있습니다.Word 매크로 파일 저장시 PDF로 저장

지금까지, 나는 그것에서) 내가 뒤에 FileSave (와 매크로가 필요하다고 핸들러를 알아 내기 위해 관리했습니다, 그것은 (테스트 매크로 기록에서) 저장 비트는 같을 수 있습니다

Sub FileSave() 
' 
' FileSave Macro 
' 
' 
    ActiveDocument.ExportAsFixedFormat OutputFileName:= _ 
     "C:\Documents and Settings\rdyce\Desktop\Doc1.pdf", ExportFormat:= _ 
     wdExportFormatPDF, OpenAfterExport:=True, OptimizeFor:= _ 
     wdExportOptimizeForPrint, Range:=wdExportAllDocument, From:=1, To:=1, _ 
     Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ 
     CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ 
     BitmapMissingFonts:=True, UseISO19005_1:=False 


End Sub 
+1

당신은 응용 프로그램 내에서 "VBA 편집기"를 입력하고 "를 BeforeSave"이벤트에 코드를 추가해야합니다, 불행하게도 당신이 필요 사용자 자신을 가져 오기위한 독립 실행 형 추가 기능을 개발할 수 없다면 각 사용자의 컴퓨터에서이 작업을 수행 할 수 있습니다. –

+0

Beforesave! 좋은 물건. Addin 일에 대한 스카우트를 가질 테니 ... – Dycey

답변

2

OK, 나는 이것이 jjob을한다고 생각하지만, 눈부신 오류에 대한 어떤 조언도 여전히 감사하게 받아 들여졌다. 또한, 추가 기능으로 그것을 설정하는 방법은 아직 증명 수수께끼 :

이 에게
Sub FileSave() 
' 
' FileSave Macro 
' 

    ActiveDocument.Save 

    Dim StrFile As String 
    Dim StrPath As String 
    Dim StrName As String 
    Dim StrPDFName As String 

    StrPath = ActiveDocument.Path 'Get document path 
    StrFile = ActiveDocument.Name 'Get document name 

    If InStr(StrFile, "_tempkey") Then 'Check if this is a special file 

     If InStr(StrFile, ".") Then 
      StrName = Left(StrFile, (InStr(StrFile, ".") - 1)) 
     Else 
      StrName = StrFile 
     End If 

     StrPDFName = StrPath + "\" + StrName + ".pdf" 

     ActiveDocument.ExportAsFixedFormat OutputFileName:=StrPDFName, _ 
      ExportFormat:=wdExportFormatPDF, OpenAfterExport:=False, _ 
      OptimizeFor:=wdExportOptimizeForPrint, Range:=wdExportAllDocument, _ 
      Item:=wdExportDocumentContent, IncludeDocProps:=True, KeepIRM:=True, _ 
      CreateBookmarks:=wdExportCreateNoBookmarks, DocStructureTags:=True, _ 
      BitmapMissingFonts:=True, UseISO19005_1:=False 

    End If 

End Sub 
+0

사실, addin은 상당히 간단했습니다. 기본적으로 .dotm 파일로 저장하고 Word 시작 폴더에 고정하십시오. 그 트릭을 할 것으로 보인다. – Dycey

관련 문제