VBでPDFファイルを結合したいのですが、どうしたらよいのか
わかりません。
ページ挿入で1つのファイルにまとめるという方法でも
どちらでもかまいません。
ご存知の方がいらっしゃいましたら、教えて下さい。

このQ&Aに関連する最新のQ&A

A 回答 (3件)

使えそうなソースを見つけました。



参考URL:http://www.planetpdf.com/mainpage.asp?WebPageID=47
    • good
    • 0
この回答へのお礼

試してみたところ、うまく出来ました!
ありがとうございます。
これを元に、カスタマイズ頑張ります。
Adobe製品は英語ばかりで、大変ですね(^^;
ほんとに助かりました。ありがとうございましたっ!

お礼日時:2002/01/08 14:48

ちょっと興味をもったのでやってます。

PDFを開く/閉じる しかできていません。
「もしかしたら、ここまでを公開したら他の人がやってくれるかも?」という期待を持って、途中経過を載せておきます。

開発環境:EXCEL97
参照設定:Adobe Acrobat 4.0 Type Library (Acrobat)

Sub TEST()
On Error Resume Next

  Dim acroApp     As CAcroApp   'CAcroAppオブジェクト
  Dim acroPDDoc    As CAcroPDDoc  'CAcroPDDocオブジェクト
  Dim acroExchAVDoc1 As CAcroAVDoc  'CAcroAVDocオブジェクト
  Dim acroExchAVDoc2 As CAcroAVDoc  'CAcroAVDocオブジェクト
  Dim blnRtn     As Boolean   '戻り値
  
  Set acroApp = CreateObject("AcroExch.APP")
  Set acroPDDoc = CreateObject("AcroExch.PDDoc")
  Set acroExchAVDoc1 = CreateObject("AcroExch.AVDoc")
  Set acroExchAVDoc2 = CreateObject("AcroExch.AVDoc")

'デバッグ用
acroApp.Show
  
  
  'ファイルオープン1
  blnRtn = acroExchAVDoc1.Open("c:\test\1.pdf", "")
  If Not blnRtn Then
    MsgBox "オープンエラー1"
    GoTo PGMEND:
  End If
  
  'ファイルオープン2
  blnRtn = acroExchAVDoc2.Open("c:\test\2.pdf", "")
  If Not blnRtn Then
    MsgBox "オープンエラー2"
    GoTo PGMEND:
  End If
  
  'ここでマージを行うはず・・・できない・・・(T▽T)
  
PGMEND:
  '閉じる
  blnRtn = acroExchAVDoc1.Close(False)
  blnRtn = acroExchAVDoc2.Close(False)
  acroApp.Exit
  
  '開放
  Set acroExchAVDoc1 = Nothing
  Set acroExchAVDoc2 = Nothing
  Set acroPDDoc = Nothing
  Set acroApp = Nothing
End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
VB初心者なので、とても助かります。
興味を持っていただいて感謝、感謝です。
また新たにわかったことがあれば、教えて下さい。
よろしくお願いします。

お礼日時:2002/01/08 13:53

Adobe Acrobat SDK かな

    • good
    • 0
この回答へのお礼

さっそくのレスありがとうございます。
やはりAdobe Acrobat SDKを使うんですね。
いまダウンロードしてみたのですが、英語なので
さっぱりわかりません。
使い方をご存知でしたら、教えていただけませんか?
あつかましいお願いですが、よろしくお願いいたします。

お礼日時:2002/01/08 11:43

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QVBからPDFファイル自動生成するには

VBから印刷イメージを自動にPDFファイルに変換し指定フォルダに保存するにはどのようにすればよいのでしょうか?
いろいろ調べても良くわかりません。
できればサンプルプログラムもあれば幸いです。

現在は、通常使うプリンタにAcrobat PDFWriterを指定し手動でPDFファイルを作っている次第です。

環境としてはWindows2000、VB6.0、Acrobat4.05です。

どんな情報でも結構です。お待ちしております。

Aベストアンサー

サンプルです。

Option Explicit

'開発環境: VB6SP5 Acrobat4.0
'参照設定:Adobe Acrobat 4.0 Type Library
'    参照設定初回設定時は「Acrobat」と表示されています
'    一度チェックをつけ、もう一度参照設定ダイアログを開くと「Adobe Acrobat 4.0 Type Library」になっているはずです。

Sub TEST()
  Dim acroApp     As CAcroApp   'CAcroAppオブジェクト
  Dim acroPDDoc    As CAcroPDDoc  'CAcroPDDocオブジェクト
  Dim acroExchAVDoc  As CAcroAVDoc  'CAcroAVDocオブジェクト
  Dim blnRtn     As Boolean   '戻り値
  Dim lngAVDocNum   As Long
  
  'インスタンス生成
  Set acroApp = CreateObject("AcroExch.APP")
  Set acroPDDoc = CreateObject("AcroExch.PDDoc")
  Set acroExchAVDoc = CreateObject("AcroExch.AVDoc")

'デバッグ用
acroApp.Show
 
  'ファイルオープン
  blnRtn = acroExchAVDoc.Open("c:\test.bmp", "")
  If blnRtn Then
    MsgBox "オープンエラー"
    GoTo PGMEND:
  End If
  
  '変換処理中の待機処理
  Do While lngAVDocNum = acroApp.GetNumAVDocs
    DoEvents
  Loop
  
  '変換済みのアクティブPDFファイルオブジェクト取得
  Set acroExchAVDoc = acroApp.GetActiveDoc()
  Set acroPDDoc = acroExchAVDoc.GetPDDoc()
    
  'PDFファイルとしてセーブ
  blnRtn = acroPDDoc.Save(PDSaveFull Or PDSaveCollectGarbage Or PDSaveLinearized, "c:\test.pdf")
  
  If Not blnRtn Then
    MsgBox "セーブエラー"
    GoTo PGMEND:
  End If
 
 
PGMEND:
  '閉じる
  blnRtn = acroExchAVDoc.Close(False)
  acroApp.Exit
 
  '開放
  Set acroExchAVDoc = Nothing
  Set acroPDDoc = Nothing
  Set acroApp = Nothing
End Sub

サンプルです。

Option Explicit

'開発環境: VB6SP5 Acrobat4.0
'参照設定:Adobe Acrobat 4.0 Type Library
'    参照設定初回設定時は「Acrobat」と表示されています
'    一度チェックをつけ、もう一度参照設定ダイアログを開くと「Adobe Acrobat 4.0 Type Library」になっているはずです。

Sub TEST()
  Dim acroApp     As CAcroApp   'CAcroAppオブジェクト
  Dim acroPDDoc    As CAcroPDDoc  'CAcroPDDocオブジェクト
  Dim acroExchAVDoc  As CAcroAVDoc  'CAcro...続きを読む

QVBからPDFファイルの埋め込みテキストを検索する方法

VBで文書を検索できるシステムを作っています。
通常検索では、テキストボックスに入力した文字列と一致するものをデータベースに登録した文書名から探してきてMSHFlexGridコントロール上に表示するようにしています。
今回は、追加検索として、指定したフォルダの中にあるPDFファイルやワードファイルなどの文書中の文字から一致するものを探して表示する機能を作りたいと考えています。
この様な機能はどの様に作れば良いのでしょうか?
色々とサイトを探してみたのですが、該当するものを見つけることが出来ませんでした。
よろしくお願いします。

Aベストアンサー

こんにちは。

[xdoc2txt]
PDF,WORD,EXCEL,一太郎などの各種バイナリ文書からテキストを抽出
http://www31.ocn.ne.jp/~h_ishida/xdoc2txt.html

VB から xdoc2txt.exe を起動して抽出テキストをリダイレクトする。
または、ActiveX 版 xdoc2txt.ocx を使うとか。

一から VB でとなると恐ろしく面倒で、難しいですよ。

まず速度面の問題があるでしょうし、ファイルフォーマットの解析が
必要になったり。。

QVBでPDFファイルを読み込む

こんにちは
VB2010でPDFファイルを読み込みページごとに処理したり、1ページの一部を切り取ったりしたいのですがどのようにしたら良いでしょうか。イメージとして読み込めれば処理できるのでしょうが読み込めません。

Aベストアンサー

PDF表示ActiveXコントロール(AcroPDF.dll)をフォームに貼り付ける

QVBとAdobe Acrobat SDKを使用してPDFファイルを作成したい

VBとAdobe Acrobat SDKを使用してPDFファイルを作成
したいと考えています.
SDKとVBの連携についての情報が見つからないため,
試行錯誤でプログラム作業をおこなっています.
VBとAdobe Acrobat SDKを使用したサンプルが掲載されているサイトまたは書籍はないのでしょうか?

OS:Windows2000+SP4
Visual Basic 6.0+SP6
Adobe Acrobat 5 +SDK

Aベストアンサー

サンプルはgoogleで探せばよいでしょう。
planetpdfが情報多いです。

参考URL:http://www.google.co.jp/search?q=CreateObject+AcroExch.APP

QVBSを使用し、指定フォルダ内のテキストファイルを一つに結合させたい

お世話になります。

引数1=結合したいテキストファイルの存在するフォルダパス("Y:\Work")
引数2=結合後のテキストファイルのフルパス("Y:\Temp\Merge_All.csv")
を引き渡し、
引数1で指定したフォルダ内に存在する、
拡張子"dat"の複数ファイルを一つに結合する共通モジュール
を作成したいと思っています。

下記モジュールをメインモジュールから何度か呼び出しているのですが、
一度目は問題なく実行されるのですが、
二度目に実行する場合に、
Set oTextFile = oFs.OpenTextFile(sFilename, 1)の行で
エラー メッセージ
"Runtime Error! Abnormal Program Termination."
が表示され処理が中断してしまい困っています。

お気づきの問題点がございましたら、是非お時間のある時にご指導いただけると幸いです。
ヒントでもかまいませんので、よろしくお願いいたします。

ついでといってはなんですが、、、
本来はヘッダー付ファイルを先頭ファイルのヘッダーだけを残して
一つに結合したいと思っていたのですが、
ファイルサイズが膨大なため、ReadLineでは遅すぎてあきらめ、
ヘッダーなしファイルをReadAllで単純結合していく方法にしました。
ヘッダー付ファイルを結合する良い方法をご存知の場合は、
是非合わせてご教授お願いいたします。


Sub MergeFiles(sFolderPath, sExpFilePath)

 Const ForReading = 1

 Set oFolder = oFS.GetFolder(sFolderPath)
 Set oExpFile = oFS.CreateTextFile(sExpFilePath)

 For Each sFilename In oFolder.Files
   sFileExtension = oFS.GetExtensionName(sFilename)
   If LCase(sFileExtension) = "dat" Then
     Set oTextFile = oFS.OpenTextFile(sFilename, ForReading) ←二度目のここでエラーなんです
     sExpLine = oTextFile.ReadAll
     oTextFile.Close
     oExpFile.WriteLine sExpLine
   End If
 Next

 oExpFile.Close

End Sub

お世話になります。

引数1=結合したいテキストファイルの存在するフォルダパス("Y:\Work")
引数2=結合後のテキストファイルのフルパス("Y:\Temp\Merge_All.csv")
を引き渡し、
引数1で指定したフォルダ内に存在する、
拡張子"dat"の複数ファイルを一つに結合する共通モジュール
を作成したいと思っています。

下記モジュールをメインモジュールから何度か呼び出しているのですが、
一度目は問題なく実行されるのですが、
二度目に実行する場合に、
Set oTextFile = oFs.OpenTextFile(sFile...続きを読む

Aベストアンサー

#2です。

> に改行コードがあるために結合部に一行の空行が入ってしまいます。

もしかして、
oExpFile.WriteLine
を使われていますか?
これは自動的に改行されてしまいます。

oExpFile.Write
を使用してみてはどうでしょうか?


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報