2017-07-19 17 views
0

すべてのタブを宛先フォルダに保存する簡単な機能を作成しました。しかし、全プロセスを実装した後、私はこれが週に働かないことに気付きました。名前を付けて保存VBA関数の問題

私は1週間から別の問題を解決するために、ファイルが.xlsxではなくpdfsである必要があります。私は自分自身でこの機能を修正しようとしましたが、生成するpdfsを開くと「破損しています」、つまりアドビが言います。

以下を参照してください:

Sub SaveFilesInFolder() 
' 
'This is a function for saving each worksheet as a workbook in a destination folder 
' 

' 
    Dim sh As Worksheet 
    Dim wb As Workbook 

    For Each sh In Worksheets 
     SheetName = sh.Name 
     sh.Copy 

     With ActiveWorkbook 
      .SaveAs FileName:="C:\Example\" & SheetName & ".pdf" 
      .Close SaveChanges:=True 
     End With 

    Next sh 

End Sub 

私はExportAsFileFormatの承知していますが、私はそれが100個の+のタブがありますブック全体で動作するのに問題が生じています。

お勧めします。

はあなたがExportAsFixedFormatメソッドを呼び出す必要があり、

答えて

1
Sub Test() 
For Each sht In Sheets 
    sht.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\" & sht.Name & ".pdf" 
Next 
End Sub 
+0

これは動作しますが、各タブは個別のPDFファイルにする必要があります。あなたのご意見ありがとうございます。 –

+0

編集された回答を参照 –

+0

安倍さん、「印刷するものは見つかりませんでした」というエラーメッセージが表示されます。 コードをコピーして貼り付けて、コピー先フォルダを変更しました。 –

0

、ありがとうございました。

.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Example\" & SheetName & ".pdf" 
+0

私はこれを試みたが、問題は、私はそれから敬遠していました。すべてのワークシートにExcelファイルを保存するよう促していました。 –

関連する問題