PDAnnot¡§GetSubtype ¥á¥½¥Ã¥É
¡ãÀâÌÀ¡ä
Ãí¼á¤Î¥¿¥¤¥×¤òÆÀ¤Þ¤¹¡£¥¿¥¤¥×¤Ï Text , Popup , Link ¤Î£³¼ïÎà¤Ç¤¹¡£
¡ã·Á¼°¡ä
BSTR GetSubtype();
¡ã°ú¿ô¡ä
¡¦Ìµ¤·¡£
¡ãÌá¤êÃÍ¡ä
¡¦Text , Popup , Link ¤Îʸ»úÎó¤Î¤É¤ì¤«¤òÊÖ¤·¤Þ¤¹¡£
¡ã¥µ¥ó¥×¥ë¡§Excel¤ÎVBA¡ä
ÀâÌÀ¡§PDF¥Õ¥¡¥¤¥ë¤Î»ØÄê¥Ú¡¼¥¸¤ÎÃí¼á¤Î¥¿¥¤¥×¤òÆÀ¤Þ¤¹¡£
¢¨F8¥¡¼¤Ç¥¹¥Æ¥Ã¥×¼Â¹Ô¤·¤Ê¤¬¤éưºî³Îǧ¤¹¤ë¡£
¢¨»²¾ÈÀßÄê¤ò¤¹¤ë¡£
Private Sub TEST_PDAnnot_GetSubtype()
Debug.Print "TEST_PDAnnot_GetSubtype:" & Now
Dim objAcroAVDoc As New Acrobat.AcroAVDoc
Dim objAcroPDDoc As Acrobat.AcroPDDoc
Dim objAcroPDPage As Acrobat.AcroPDPage
Dim objAcroPDAnnot As Acrobat.AcroPDAnnot
Dim lAnnotsCnt As Long 'Ãí¼á¿ô
Dim lTextCnt As Long '·ï¿ô
Dim lRet As Long 'Ìá¤êÃÍ
Dim j As Long 'ꤍ»ú
Dim lText As Long
Dim lPopUp As Long
Dim lLink As Long
Const CON_PAGE = 0 '¥Ú¡¼¥¸ÈÖ¹æ
lTextCnt = 0
lText = 0
lPopUp = 0
lLink = 0
'PDF¥É¥¥å¥á¥ó¥È¤ò³«¤¤¤ÆÉ½¼¨¤¹¤ë
lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
'2ÊÇÌܤΥڡ¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÆÀ¤ë¡¡¡úÃí°Õ¡
Set objAcroPDPage = _
objAcroPDDoc.AcquirePage(CON_PAGE)
Debug.Print "ÊÇ¡á" & CON_PAGE
'¥Ú¡¼¥¸¤Ë¸ºß¤¹¤ëÃí¼á¿ô¤òÆÀ¤ë¡¡¡úÃí°Õ¢
lAnnotsCnt = objAcroPDPage.GetNumAnnots() - 1
Debug.Print "Á´Ãí¼á¿ô=" & (lAnnotsCnt + 1)
For j = 0 To lAnnotsCnt
Set objAcroPDAnnot = objAcroPDPage.GetAnnot(j)
With objAcroPDAnnot
Debug.Print "(" & j & ")GetSubtype=" & _
.GetSubtype
Debug.Print " GetContents=" & _
.GetContents
Select Case .GetSubtype
Case "Text": lText = lText + 1
Case "Popup": lPopUp = lPopUp + 1
Case "Link": lLink = lLink + 1
Case Else: MsgBox "Program Error(" & _
.GetSubtype & ")"
End Select
End With
lTextCnt = lTextCnt + 1
Next j
Debug.Print "Text =" & lText & " ·ï"
Debug.Print "Popup =" & lPopUp & " ·ï"
Debug.Print "Link =" & lLink & " ·ï"
Debug.Print "Á´·ï¿ô=" & lTextCnt & " ·ï"
'PDF¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Ê¤¤¤ÇÊĤ¸¤ë
lRet = objAcroAVDoc.Close(1)
'¥ª¥Ö¥¸¥§¥¯¥È¤ò¶¯À©²òÊü¤¹¤ë
Set objAcroAVDoc = Nothing
Set objAcroPDAnnot = Nothing
Set objAcroPDPage = Nothing
Set objAcroPDDoc = Nothing
End Sub
¡ã¼Â¹Ô·ë²Ì¡Ê£±¡Ë¡ä¡¡Êǡᣱ¤Î»þ¡¢°Û¾ï½èÍý
TEST_PDAnnot_GetRect:2008/08/12 12:51:16
ÊÇ¡á0
Á´Ãí¼á¿ô=4
(0)GetSubtype=Text
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
(1)GetSubtype=Popup
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
(2)GetSubtype=Text
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
(3)GetSubtype=Popup
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
Text =2 ·ï
Popup =2 ·ï
Link =0 ·ï
Á´·ï¿ô=4 ·ï
¢¨¾åµPDF¥Ú¡¼¥¸¤Ï°Ê²¼¤ÎÍͤˤʤäƤ¤¤ë¡££²ÈÖÌܤÎÃí¼á¤¬É½¼¨¤µ¤ì¤Æ¤Ê¤¤¡£

¡ã¼Â¹Ô·ë²Ì¡Ê£²¡Ë¡ä¡¡Êǡᣳ¤Î»þ¡¢°Û¾ï½èÍý
TEST_PDAnnot_GetRect:2008/08/12 12:39:57
ÊÇ¡á2
Á´Ãí¼á¿ô=41
(0)GetSubtype=Link
GetContents=
(1)GetSubtype=Link
GetContents=
(2)GetSubtype=Link
GetContents=
(3)GetSubtype=Link
GetContents=
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ã¾Êά¡ä¡¦¡¦¡¦¡¦¡¦¡¦¡¦
(39)GetSubtype=Link
GetContents=
(40)GetSubtype=Link
GetContents=
Text =0 ·ï
Popup =0 ·ï
Link =41 ·ï
Á´·ï¿ô=41 ·ï
¢¨¾åµPDF¥Ú¡¼¥¸¤Ï°Ê²¼¤ÎÍͤˤʤäƤ¤¤ë¡£Ãí¼á¤¬£±¤Äɽ¼¨¤µ¤ì¤Æ¤Ê¤¤¡£

¡ãÊä¡ä
¡¦¡Ö¡úÃí°Õ¡¡×¤È¡Ö¡úÃí°Õ¢¡×¤ÎÉôʬ¤¬Æ°ºîÉÔÎɤòµ¯¤³¤·¤Æ¤¤¤ëÌÏÍͤǤ¹¡£Àµ³Î¤Ë½èÍý¤Ç¤¤Þ¤»¤ó¡£
¡ãưºî³Îǧ´Ä¶¡ä
¡¦WindowsXP Pro + SP3 + ¥Õ¥ëWindowsUpdate
¡¦Acrobat 8.1.2 Pro + Office 2003 + ¥Õ¥ëMicrosoftUpdate
Ãí¼á¤Î¥¿¥¤¥×¤òÆÀ¤Þ¤¹¡£¥¿¥¤¥×¤Ï Text , Popup , Link ¤Î£³¼ïÎà¤Ç¤¹¡£
¡ã·Á¼°¡ä
BSTR GetSubtype();
¡ã°ú¿ô¡ä
¡¦Ìµ¤·¡£
¡ãÌá¤êÃÍ¡ä
¡¦Text , Popup , Link ¤Îʸ»úÎó¤Î¤É¤ì¤«¤òÊÖ¤·¤Þ¤¹¡£
¡ã¥µ¥ó¥×¥ë¡§Excel¤ÎVBA¡ä
ÀâÌÀ¡§PDF¥Õ¥¡¥¤¥ë¤Î»ØÄê¥Ú¡¼¥¸¤ÎÃí¼á¤Î¥¿¥¤¥×¤òÆÀ¤Þ¤¹¡£
¢¨F8¥¡¼¤Ç¥¹¥Æ¥Ã¥×¼Â¹Ô¤·¤Ê¤¬¤éưºî³Îǧ¤¹¤ë¡£
¢¨»²¾ÈÀßÄê¤ò¤¹¤ë¡£
Private Sub TEST_PDAnnot_GetSubtype()
Debug.Print "TEST_PDAnnot_GetSubtype:" & Now
Dim objAcroAVDoc As New Acrobat.AcroAVDoc
Dim objAcroPDDoc As Acrobat.AcroPDDoc
Dim objAcroPDPage As Acrobat.AcroPDPage
Dim objAcroPDAnnot As Acrobat.AcroPDAnnot
Dim lAnnotsCnt As Long 'Ãí¼á¿ô
Dim lTextCnt As Long '·ï¿ô
Dim lRet As Long 'Ìá¤êÃÍ
Dim j As Long 'ꤍ»ú
Dim lText As Long
Dim lPopUp As Long
Dim lLink As Long
Const CON_PAGE = 0 '¥Ú¡¼¥¸ÈÖ¹æ
lTextCnt = 0
lText = 0
lPopUp = 0
lLink = 0
'PDF¥É¥¥å¥á¥ó¥È¤ò³«¤¤¤ÆÉ½¼¨¤¹¤ë
lRet = objAcroAVDoc.Open("E:¥Test01.pdf", "")
Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
'2ÊÇÌܤΥڡ¼¥¸¡¦¥ª¥Ö¥¸¥§¥¯¥È¤òÆÀ¤ë¡¡¡úÃí°Õ¡
Set objAcroPDPage = _
objAcroPDDoc.AcquirePage(CON_PAGE)
Debug.Print "ÊÇ¡á" & CON_PAGE
'¥Ú¡¼¥¸¤Ë¸ºß¤¹¤ëÃí¼á¿ô¤òÆÀ¤ë¡¡¡úÃí°Õ¢
lAnnotsCnt = objAcroPDPage.GetNumAnnots() - 1
Debug.Print "Á´Ãí¼á¿ô=" & (lAnnotsCnt + 1)
For j = 0 To lAnnotsCnt
Set objAcroPDAnnot = objAcroPDPage.GetAnnot(j)
With objAcroPDAnnot
Debug.Print "(" & j & ")GetSubtype=" & _
.GetSubtype
Debug.Print " GetContents=" & _
.GetContents
Select Case .GetSubtype
Case "Text": lText = lText + 1
Case "Popup": lPopUp = lPopUp + 1
Case "Link": lLink = lLink + 1
Case Else: MsgBox "Program Error(" & _
.GetSubtype & ")"
End Select
End With
lTextCnt = lTextCnt + 1
Next j
Debug.Print "Text =" & lText & " ·ï"
Debug.Print "Popup =" & lPopUp & " ·ï"
Debug.Print "Link =" & lLink & " ·ï"
Debug.Print "Á´·ï¿ô=" & lTextCnt & " ·ï"
'PDF¥Õ¥¡¥¤¥ë¤òÊݸ¤·¤Ê¤¤¤ÇÊĤ¸¤ë
lRet = objAcroAVDoc.Close(1)
'¥ª¥Ö¥¸¥§¥¯¥È¤ò¶¯À©²òÊü¤¹¤ë
Set objAcroAVDoc = Nothing
Set objAcroPDAnnot = Nothing
Set objAcroPDPage = Nothing
Set objAcroPDDoc = Nothing
End Sub
¡ã¼Â¹Ô·ë²Ì¡Ê£±¡Ë¡ä¡¡Êǡᣱ¤Î»þ¡¢°Û¾ï½èÍý
TEST_PDAnnot_GetRect:2008/08/12 12:51:16
ÊÇ¡á0
Á´Ãí¼á¿ô=4
(0)GetSubtype=Text
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
(1)GetSubtype=Popup
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
(2)GetSubtype=Text
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
(3)GetSubtype=Popup
GetContents=1/2 ¤³¤ì¤ÏTest01.PDF¤Î¥Æ¥¹¥ÈÍѤΣ±¥Ú¡¼¥¸ÌܤΥƥ¥¹¥ÈÃí¼á¤Ç¤¹¡£
Text =2 ·ï
Popup =2 ·ï
Link =0 ·ï
Á´·ï¿ô=4 ·ï
¢¨¾åµPDF¥Ú¡¼¥¸¤Ï°Ê²¼¤ÎÍͤˤʤäƤ¤¤ë¡££²ÈÖÌܤÎÃí¼á¤¬É½¼¨¤µ¤ì¤Æ¤Ê¤¤¡£

¡ã¼Â¹Ô·ë²Ì¡Ê£²¡Ë¡ä¡¡Êǡᣳ¤Î»þ¡¢°Û¾ï½èÍý
TEST_PDAnnot_GetRect:2008/08/12 12:39:57
ÊÇ¡á2
Á´Ãí¼á¿ô=41
(0)GetSubtype=Link
GetContents=
(1)GetSubtype=Link
GetContents=
(2)GetSubtype=Link
GetContents=
(3)GetSubtype=Link
GetContents=
¡¦¡¦¡¦¡¦¡¦¡¦¡¦¡ã¾Êά¡ä¡¦¡¦¡¦¡¦¡¦¡¦¡¦
(39)GetSubtype=Link
GetContents=
(40)GetSubtype=Link
GetContents=
Text =0 ·ï
Popup =0 ·ï
Link =41 ·ï
Á´·ï¿ô=41 ·ï
¢¨¾åµPDF¥Ú¡¼¥¸¤Ï°Ê²¼¤ÎÍͤˤʤäƤ¤¤ë¡£Ãí¼á¤¬£±¤Äɽ¼¨¤µ¤ì¤Æ¤Ê¤¤¡£

¡ãÊä¡ä
¡¦¡Ö¡úÃí°Õ¡¡×¤È¡Ö¡úÃí°Õ¢¡×¤ÎÉôʬ¤¬Æ°ºîÉÔÎɤòµ¯¤³¤·¤Æ¤¤¤ëÌÏÍͤǤ¹¡£Àµ³Î¤Ë½èÍý¤Ç¤¤Þ¤»¤ó¡£
¡ãưºî³Îǧ´Ä¶¡ä
¡¦WindowsXP Pro + SP3 + ¥Õ¥ëWindowsUpdate
¡¦Acrobat 8.1.2 Pro + Office 2003 + ¥Õ¥ëMicrosoftUpdate

![ÁǺàËþºÜ ¥Ö¥í¥°¤Çºî¤ë ¤«¤ó¤¿¤ó¥Û¡¼¥à¥Ú¡¼¥¸ [CD-ROMÉÕ¤]](http://ecx.images-amazon.com/images/I/61XF13WMY1L._SL160_.jpg)

¤³¤Îµ»ö¤ËÂФ¹¤ë¥³¥á¥ó¥È