【教育現場での時短術】教材と文書を一瞬でPDFに!簡単VBAスクリプト活用法
毎日のようにExcelやWordを用いた教材作成や文書管理に追われていませんか?ファイルのPDF変換作業は、意外と時間を取られるものです。しかし、今回ご紹介するVBAスクリプトを用いれば、その手間を大幅に削減することができます。一度設定すれば、どのフォルダにあるファイルも瞬時にPDFに変換可能になります。これで、もっと大切な教育活動に集中できる時間が増えるはずです。
手順1:エクセルファイルの準備とフォルダ設定
まず、新規にExcelファイルを作成してください。このファイルは、VBAスクリプトを実行するための基盤となります。ファイルを新規作成した後、任意の名前で保存し、このファイルをPDFに変換したいファイルが存在するフォルダに移動させてください。この一手間により、どのフォルダでもスクリプトを実行できるようになります。ファイルの配置が完了したら、次の手順に進みましょう。
手順2:VBAエディタの起動
新しいExcelファイルを開いた状態で、Alt + F11キーを同時に押してください。これにより、VBAエディタが起動します。このエディタは、スクリプトを入力し実行するための場所です。もしVBAエディタが初めてであれば、少し見慣れない画面になるかもしれませんが、心配無用です。次の手順で、スクリプトを正確にコピー&ペーストするだけで大丈夫です。
手順3:スクリプトの貼り付けと実行
VBAエディタが開いたら、以下に示すスクリプトをコピーし、エディタに貼り付けてください。このスクリプトは、指定されたフォルダ内の全ExcelとWordファイルを自動的にPDFに変換します。コードの貼り付けが完了したら、F5キーを押してスクリプトを実行しましょう。
```vba
Sub BatchConvertExcelAndWordToPDF()
Dim folderPath As String
Dim fileName As String
Dim currentWorkbook As Workbook
Dim wordApp As Object
Dim currentWordDocument As Object
' マクロが含まれている現在のワークブックのパスを取得
folderPath = ThisWorkbook.Path & "\"
' ExcelファイルをPDFに変換
fileName = Dir(folderPath & "*.xls*")
Do While fileName <> ""
If fileName <> ThisWorkbook.Name Then
Set currentWorkbook = Workbooks.Open(folderPath & fileName)
currentWorkbook.ExportAsFixedFormat Type:=xlTypePDF, Filename:=folderPath & Left(fileName, InStrRev(fileName, ".") - 1) & ".pdf"
currentWorkbook.Close saveChanges:=False
End If
fileName = Dir()
Loop
' WordファイルをPDFに変換
Set wordApp = CreateObject("Word.Application")
fileName = Dir(folderPath & "*.doc*")
Do While fileName <> ""
Set currentWordDocument = wordApp.Documents.Open(folderPath & fileName)
currentWordDocument.ExportAsFixedFormat OutputFileName
:=folderPath & Left(fileName, InStrRev(fileName, ".") - 1) & ".pdf", ExportFormat:=17
currentWordDocument.Close False
fileName = Dir()
Loop
wordApp.Quit
MsgBox "同じフォルダ内のすべてのExcelとWordファイルがPDFに変換されました。"
End Sub
```
以上で、フォルダ内のファイルがすべてPDFに変換されるはずです。このスクリプトを使えば、手動で一つひとつファイルを変換する手間が省け、教材作成や文書整理の時間を大幅に節約できます。先生方の負担が少しでも軽減され、より教育に集中できる環境が整うことを願っています。