FC2ブログ

WORDファイルをPDFに変換する(無料で!)その3

 前回、WORDファイルをPDFに変換する(無料で!)その2でWORDファイルをPDFに一括変換する方法に少しふれました
 ここでは、③VBAで一括変換する方法について書きます

 とは言っても一から自分で勉強してVBAを書くわけではありませんw
 今更ですがVBAとは
 

定型業務の自動化、省力化。例えば、毎日更新されるデータを出社してからいちいち手入力し、手順を入力して計算させていた業務を、夜の間に自動でソフトウェアを起動し、データを読み込ませ、朝までに処理させておける。またマクロ記録/再生という操作手順の記録/再生機能を使って、プログラムに関する知識が少ないユーザーでも、ある程度の定型業務の自動化を行なえる。

  出典: フリー百科事典『ウィキペディア(Wikipedia)』 Visual Basic for Applications

 今回の場合でいうと、WORDファイルをPDFに変換する(無料で!)その1で書いた1つのWORDファイルを開いてPDFで保存するという作業を、パソコンにやってもらおうってことです。

 さらに言うと、私が考え付いたことは既に誰かが考え付いていて、その方法はインターネット検索で調べられるという持論の元に他力本願を発揮します。
 車輪の再発明なんて面倒w
 ここでいう他力本願は「人任せ」という意味です。本来の仏教用語である他力本願とは違います

 調べると同じようなことをしている人はたくさんいます。
 今回、私が参考にした、というか丸々利用させてもらったのはこちら
 dzone. blog
 [Word VBA] 複数のWord文書をWordだけで連続PDF変換するマクロ作りました
 

Sub Exchange2PDF()

On Error Resume Next

' 選択したWordファイルをPDFとして連続保存するマクロ

Dim FSO As Object
Dim WSH As Object
Dim strCurPath As String
Dim strAFN As String
Dim strAFN2 As String
Dim strPDFName As String
Dim strActFile As String
Dim N As Long

Set WSH = CreateObject("WScript.Shell")

With Application.FileDialog(msoFileDialogFilePicker)
.Filters.Clear
.Filters.Add "Wordファイル", "*.doc;*.docx;*.docm"
.FilterIndex = 1
.InitialFileName = WSH.SpecialFolders("MyDocuments") & "\"

.Title = "PDFに変換したいWordファイルを選択(複数選択可)"
.AllowMultiSelect = True

If .Show = -1 Then
For i = 1 To .SelectedItems.Count
strActFile = .SelectedItems(i)

Documents.Open strActFile, , , , , , , , , , , Visible:=False
Documents(strActFile).Activate

'PDFに保存する
Set FSO = CreateObject("Scripting.FileSystemObject")
strCurPath = ActiveDocument.Path & "\"
strAFN = ActiveDocument.Name
strAFN2 = FSO.GetBaseName(strAFN)
strPDFName = strCurPath & strAFN2 & ".pdf"
ActiveDocument.SaveAs2 FileName:=strPDFName, FileFormat:=wdFormatPDF

'Wordファイルを保存しないで閉じる
Documents.Close SaveChanges:=Flase
Next i
MsgBox "全てのファイルを変換しました。"
Else
MsgBox "キャンセルしました。"
Exit Sub
End If
End With
End Sub


 WordVBAと書いてあるので、WordVBAとして保存してみたのですが、ファイルを閉じるときに自分自身も閉じてしまうので途中で処理が止まってしまいます 私の利用方法が間違っているのでしょうか?(;´Д`)

 WordがダメならExcelを利用すればいいじゃない!
 ってことでExcelVBAとして保存してみると!正常に連続変換に成功しました

 同名ファイルが存在する場合は確認なしで上書きしますw
 VBAの利用方法は別に書いてみようと思います。


コメントの投稿

非公開コメント

検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR