関数:PDFファイルを完全にチェックする

TOP > サンプル/関数 > 関数:PDFファイルを完全にチェックする      [...]


機能

PDFファイルに対して以下の3点をチェックする

  1. ファイルの存在チエック
  2. 拡張子 PDFのチェック
  3. ファイルにPDFバージョン情報が存在するかのチェック

 

形式

[boolean] = Check_PDF_W_nnn2(
    string strFilePath , 
    string strMessage )

 

引数

  1. 第一引数 ( string strFilePath ) :
    PDF ファイルのフルパス
  2. 第二引数 ( string strMessage ) : 
    エラー時のメッセージ 
    ””の場合はエラー無し、そして正常なPDFを意味する

 

戻り値

  1. True : 正常なPDFファイル
  2. False : PDFファイルで無い。
    又は処理途中で実子エラー発生。

 

動作するバージョン

Microsoft
Excel
結果
備考
2000
NO
※OS : Windows 98SE
XP
-
※Office XP [=2002]
2003
-
Windows XP Pro (SP3)
2007
OK
Windows 7 64bit Home (SP1)
2010
-
 
  • OK : 正常処理する。
  • NO : 正常に処理できない。 
  • - : 未確認。 

 





 


 

VBAサンプル

  

Sub Check_PDF_W_nnn2_TEST()
    
    Const CON_FILE = "I:¥Adobe PDF¥pdf_ref.pdf"
    Dim strMsg  As String
    Dim bRet    As Boolean
    
    bRet = Check_PDF_W_nnn2(CON_FILE, strMsg)
    
End Sub

'**************************************************
'
' PDFを完全にチェックする
' Check exactly the PDF
'
' 1. PDFファイルの存在チエック
' 2. 拡張子がPDF
' 3. PDFバージョンを持ったファイル
'
' Create  : 2013/10/07
' Update  :
' Vertion : 1.0.0
'
' 引数1   : sFilePath As String (IN)
'           PDFファイルのフルパス
' 引数2   : strMessage As String (OUT)
'           エラーメッセージ
'           ""はエラー無し
'
' 戻り値  : True  正常処理
'           False 実行エラー又はPDFで無い
'
' 備考    : PDFファイルに対して3つのチェックを行う
' URL     : http://pdf-file.nnn2.com/?p=766
' その他  : 著作権等は主張しません。
'           上記URLにコメントを頂けると嬉しいです。
'
'**************************************************

Public Function Check_PDF_W_nnn2( _
            ByVal strFilePath As String, _
            ByRef strMessage As String) As Boolean
On Error GoTo Err_Check_PDF_W_nnn2:
    
    Dim strPDFVersion   As String
    Dim lAcrbatV        As Long
    
    strFilePath = Trim$(strFilePath)
    
    'PDFファイルの存在チエック
    If Dir$(strFilePath) = "" Then
        strMessage = "1. Not found file (" & strFilePath & ")"
        Check_PDF_W_nnn2 = False
        Exit Function
    End If
    
    '拡張子がPDF
    If LCase$(Right$(strFilePath, 4)) <> ".pdf" Then
        strMessage = "2. Not extension pdf (" & strFilePath & ")"
        Check_PDF_W_nnn2 = False
        Exit Function
    End If
    
    'PDFバージョンを持ったファイル
    If Not Get_PDF_Version_nnn2( _
        strFilePath, strPDFVersion, lAcrbatV) Then
        'PDFファイルでは無い
        strMessage = "3. Not pdf file (" & strFilePath & ")"
        Check_PDF_W_nnn2 = False
        Exit Function
    End If
    
    '正常なPDFファイル
    Check_PDF_W_nnn2 = True
    strMessage = ""
    
    Exit Function
    
Err_Check_PDF_W_nnn2:
    '実行エラー発生
    strMessage = "Run time error " & Err.Number & " " & Err.Description
    Check_PDF_W_nnn2 = False
End Function

'**************************************************
' Get PDF Vertion for PDF file
'**************************************************

Public Function Get_PDF_Version_nnn2( _
        ByVal sFilePath As String, _
        ByRef sPDF_Version As String, _
        ByRef lAcrobat_Version As Long) As Boolean
        
       ’「PDFのバージョン」を取得する
       'http://pdf-file.nnn2.com/?p=760 を参照
    
End Function

 

 

備考

  1. 内部で使ってる Get_PDF_Version_nnn2 関数は
    「PDFのバージョン」を取得する
    http://pdf-file.nnn2.com/?p=760
    のを使う。

 

動作確認環境

  • Windows 98SE (WindowsUpdate) + Excel 2000 (SP3)
  • Windows XP Pro (SP3 + WindowsUpdate) + Excel XP (SP3)
  • Windows XP Pro (SP3 + WindowsUpdate) + Excel 2003 (SP3)
  • Windows 7 64bit Home  (SP1 + MicrosoftUpdate) + Excel 2007 (SP3)

 

サンプル一覧

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


出来るだけ早く返答する様には心がけています。
が、遅くなる時もありますのでご了承ください。


SAMURAI Plugin