前提・実現したいこと
PDFファイルをAPI(XDW_CreateXdwFromImagePdfFile)を使用してDocuworks文書に取込みたいです。
VBAを使用して、XDWAPIを参照しながら試しておりますがうまくいきません。
ちなみに、PDFではなくJPEGファイルの取込み(XDW_CreateXdwFromImageFile)はあっさりとできました。SDKのXDWAPIによると、XDW_CreateXdwFromImagePdfFileには特にXDW_CREATE_OPTIONの指定がありません。事前に何かの情報が必要なのでしょうか。
該当のソースコード
VBA
1 Dim strFileName0 As String 2 Dim strFileName1 As String 3 Dim ret As long 4 5 Dim myCreateOption As XDW_CREATE_OPTION 6 With myCreateOption 7 .nFitImage = 1 8 .nCompress = 0 9 .nZoom = 0 10 .nWidth = 0 11 .nHeight = 0 12 .nHorPos = 0 13 .nVerPos = 0 14 .nSize = LenB(myCreateOption) 15 End With 16'XDW_CreateXdwFromImageFile は成功する(ret=0) 17 strFileName0 = "C:\ABC.jpg" 18 strFileName1 = "D:\ABC.xdw" 19 ret = XDW_CreateXdwFromImageFile(strFileName0, strFileName1, myCreateOption) 20 21'XDW_CreateXdwFromImagePdfFile は失敗する(ret=-2147024809 ⇒XDW_E_INVALIDARG(0x80070057)) 22 strFileName0 = "C:\DEF.pdf" 23 strFileName1 = "D:\DEF.xdw" 24 ret = XDW_CreateXdwFromImagePdfFile(strFileName0, strFileName1, vbNullString) 25 26'以下は定義です 27'Type XDW_CREATE_OPTION 28' nSize As Long '構造体のバイト数 29' nFitImage As Long 'ページサイズ 30' nCompress As Long 'カラーイメージの圧縮形式 31' nZoom As Long '倍率を指定 32' nWidth As Long 'nFitImageがXDW_CREATE_USERDEF/XDW_CREATE_USERDEF_FITのときにページの横幅を指定 33' nHeight As Long 'nFitImageがXDW_CREATE_USERDEF/XDW_CREATE_USERDEF_FITのときにページの高さを指定 34' nHorPos As Long 'nFitImageがXDW_CREATE_FIT以外のときに水平位置を指定 35' nVerPos As Long 'nFitImageがXDW_CREATE_FIT以外のときに垂直位置を指定 36'End Type 37 38'Declare PtrSafe Function XDW_CreateXdwFromImageFile Lib "xdwapi.dll" ( _ 39' ByVal lpszInputPath As String, _ 40' ByVal lpszOutputPath As String, _ 41' ByRef pOption As XDW_CREATE_OPTION) As Long 42 43'Declare PtrSafe Function XDW_CreateXdwFromImagePdfFile Lib "xdwapi.dll" ( _ 44' ByVal lpszInputPath As String, _ 45' ByVal lpszOutputPath As String, _ 46' ByRef reserved As String) As Long 47 48ソースコード
補足情報
Windows10
Excel 2008
Fuji Xerox DocuWorks Desk 9.0.5
DocuWorks Development Tool Kit 9
あなたの回答
tips
プレビュー