[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マルチtiffのページ数 取得』(たまりん)
いつもお世話になっております。
大量にあるマルチtiffのページ数を取得したいのですが
方法はありますか?
https://social.msdn.microsoft.com/Forums/ja-JP/39440a28-efdc-4074-8bb0-c075cbb05c33/tiff125011244912452125231239812506125401247225968123642146224471?forum=vbgeneralja
で紹介されている方法ではXP以降では使用できないようです
宜しくお願いいたします
< 使用 Excel:Office365、使用 OS:Windows10 >
Tiffの仕様書を読んで、ページ数を求めるコードを書いてみては? (´・ω・`) 2021/10/19(火) 14:38
ちょっと自信なしです Type T_HeaderDecorder ByteOrder As String * 2 ' “II(4949) or MM(4D4D) TiffCode As Integer ' = 42 End Type
Type T_Tag TagType(0 To 1) As Byte DataType(0 To 1) As Byte DataCount As Long Data(0 To 3) As Byte End Type
Sub sample() Debug.Print GetPageNumber("ほげほげ.tif") End Sub
Function GetPageNumber(TiffFileName As String) Dim header As T_HeaderDecorder Dim TagSize As Integer, Tag() As T_Tag, NextIFD As Long Dim pagecount As Long fn = FreeFile Open TiffFileName For Binary As fn Get fn, , header If header.ByteOrder <> "II" Then Close: Err.Raise 9999, , "バイトオーダーが違います", vbCritical If header.TiffCode <> 42 Then Close: Err.Raise 9999, , "Tiffファイルではありません", vbCritical pagecount = 0 Do While Not EOF(fn) Get fn, , NextIFD If NextIFD = 0 Then Exit Do Seek #fn, NextIFD + 1 pagecount = pagecount + 1 Get fn, , TagSize If TagSize > 0 Then ReDim Tag(1 To TagSize) Get fn, , Tag End If Loop Close fn GetPageNumber = pagecount End Function (´・ω・`) 2021/10/19(火) 15:31
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.