2012-02-16 38 views
0

Word(またはExcel)2007+からファイルを保存するときに実行されるマクロを作成しようとしています。マクロは、実行するかどうかを決めるためにファイルの名前/場所を調べる必要はありません。ファイル名がチェックアウトされていれば(おそらく '_temp'が付加されているか、\ tempフォルダ内に存在するためです)、保存しますWordは同じ名前のPDFに保存されますが、明らかに.pdf拡張子が付いています。私は、保存する前にPDFingを行うことをお勧めしますが、私は騒がしいことはありません。 WordクライアントにはすでにSaveAsPDForXPSプラグインがインストールされています。ファイルを保存するときにPDFとして保存するWordマクロ

はこれまでのところ、私はそれで)私はの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

あなたは、残念ながら、あなたが必要となり、アプリケーション内から「Visual Basicエディター」を入力し、「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

関連する問題