
ExcelVBA+xdoc2txtを使い、以下の手順でPDFをtxtに変換します。
・xdoc2txt.exeがいるフォルダを指定させる。
・PDFがいるフォルダを指定させる。
・以上を組み合わせxdoc2txt.exeを起動する。
この手順ですが、xdoc2txt.exe及びpdfがDドライブ直下などに
存在する場合は実現出来ています。
問題は両者がデスクトップに存在する場合です。
おそらくデスクトップのフルパスがスペースを含んでいるので
上手く行かないではないかと想像しています。
xdoc2txtのヘルプには「※空白を含むファイル名の場合、""で囲ってください」とあるので、例えば、
"C:\Documents and Settings\hogehoge\デスクトップ\xdoc2txt\xdoc2txt.exe -f C:\Documents and Settings\hogehoge\デスクトップ\PDF\xxx.pdf"
あるいは
C:\Documents and Settings\hogehoge\デスクトップ\xdoc2txt\xdoc2txt.exe -f "C:\Documents and Settings\hogehoge\デスクトップ\PDF\xxx.pdf"
という風にダブルコーテーションで囲ってみたのですが、上手く動作しません。
その実現方法についてご教示いただけると幸いです。
No.1ベストアンサー
- 回答日時:
こんにちは。
"C:\Documents and Settings\hogehoge\デスクトップ\xdoc2txt\xdoc2txt.exe" -f "C:\Documents and Settings\hogehoge\デスクトップ\PDF\xxx.pdf"
EXE のパスと変換対象のファイルのパスともにダブルクォーテーション(WQ)
で括ります。
"EXEのパス" -f "変換対象ファイルのパス"
コマンドラインは 半角 SP がパラメータ区切りとして認識されてしまいます
ので、半角 SP が含まれるパスは全て WQ で括る必要があります。
ご回答ありがとうございます。
御礼が遅くなり申し訳ございません。
なるほど。そこをダブルコーテーションで区切るのですか。
さっそく試したところ無事動きました。
No.2
- 回答日時:
投稿後、ふと思ったのですが。
。> ExcelVBA+xdoc2txtを使い、以下の手順でPDFをtxtに変換します。
VBA を使うならわざわざ EXE ではなく、xdoc2txt.ocx を使った方が
何かと都合が良い気がしますね。
最近、類似の質問に回答してます。
http://oshiete1.goo.ne.jp/qa4701263.html
上記 URL の手順で xdoc2txt.ocx, zlib.dll の 2 つのファイルを
システムに登録したら、下記のようなソースで指定フォルダ内にある
全対象ファイルのテキスト抽出が可能です。
そして、検索フォルダの指定には、BrowseForFolder で WEB 検索して
もらえれば、フォルダ選択ダイアログのサンプルソースが見つかる
でしょうから、それを利用します。
もし参考にされるようであれば、エラートラップは必要に応じ追加して
下さい。また、出力は仮に VBE のイミディエイトウインドウにして
いますが、外部ファイルにするなり、ワークシートにするなり、適当に
修正してみて下さい。
Sub Sample()
' // 対象ファイル拡張子(カンマ区切りで小文字指定)
Const LIST_EXTENTION As String = "pdf,xls,txt,doc"
Dim sDirectory As String
Dim sExtention As String
Dim sText As String
Dim fso As Object ' // FileSystemObject
Dim f As Object ' // File
Dim xdc As Object ' // xdoc2txt
' // 検索フォルダ
sDirectory = "C:\Documents and Settings\hogehoge\デスクトップ"
' // xdoc2txt の準備
Set xdc = CreateObject("XDOC2TXT.xdoc2txtCtrl.1")
' // FileSystemObject の準備
Set fso = CreateObject("Scripting.FileSystemObject")
For Each f In fso.GetFolder(sDirectory).Files
' // 拡張子で対象ファイルを簡易フィルタ
sExtention = LCase$(fso.GetExtensionName(f.Name))
If InStr(LIST_EXTENTION, sExtention) Then
' // xdoc2txt を使ってテキスト抽出します
sText = xdc.Convert(f.Path)
' // イミディエイトウインドウへ出力
Debug.Print String$(80, "-")
Debug.Print "File:= " & f.Name
Debug.Print String$(80, "-")
Debug.Print sText
End If
Next
Set xdc = Nothing
Set fso = Nothing
End Sub
ご回答ありがとうございます。
わざわざソースまで書いていただき、重ね重ね
ありがとうございます。
残念ながら、今回は特定のPCで作業を行うわけではなく、
xdoc2txt及びPDF一式を持って回って、不特定のPCで
作業するため、ocxでの作業は難しいかと思われます。
今後、そういった機会があれば参考にさせていただきたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- Visual Basic(VBA) VBA★PDFをPDFアプリで印刷しようと思っていますが上手くゆきません 1 2022/06/06 22:04
- Visual Basic(VBA) ワイルドカード「*」を使うとうまくいかないマクロの添削をお願いします 3 2022/03/26 09:39
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/03 09:11
- デスクトップパソコン 光学ドライブのトレイが開かなくなりました 5 2023/05/25 13:53
- Excel(エクセル) マクロのコードを、少しでも削って短くしたい 3 2022/08/30 07:46
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- 数学 線形代数の対称行列についての問題がわからないです。 2 2023/01/08 14:59
- Excel(エクセル) 【VBA】PDF出力に任意のファイル名前を付ける方法 3 2023/07/21 10:55
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
Excel 相対パス
-
ExcelのVBAで上書き保存を確...
-
エクセルVBAで一つ上の階層...
-
【VB.NET】App.configにファイ...
-
実行ファイルのパスを取得したい
-
アプリケーションのインストー...
-
xcopyコマンドの進行状況を表示...
-
エクセルのマクロで特定フォル...
-
VBAでパワーシェルを実行したい...
-
コマンドバッチ フルパスから特...
-
fopenでのパス指定
-
ShellExecuteでエクセルファイ...
-
SaveAsの保存先について
-
VBS パスに変数を入れたい
-
開いているファイルを削除し、...
-
Like演算子で、[と]を文字とし...
-
パスワード保護されたExcelファ...
-
VB.NETで参照設定
-
コマンドプロンプトのコピー関...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルvbaでdocuworksprinter...
-
エクセルVBAで一つ上の階層...
-
xcopyコマンドの進行状況を表示...
-
Excel 相対パス
-
実行ファイルのパスを取得したい
-
コマンドプロンプトのコピー関...
-
【VB.NET】App.configにファイ...
-
エクセルのマクロで特定フォル...
-
VBA★PDFをPDFアプリで印刷し...
-
ExcelVBAの使い方 ¥の使い方...
-
fopenでのパス指定
-
ExcelのVBAで上書き保存を確...
-
EXCEL(VBA)で指定フォルダ内の...
-
C#でのProcess.Startと変数path
-
【VBA】ExcelマクロでCSVファイ...
-
VBAでパワーシェルを実行したい...
-
A列に記載されているフォルダ...
-
初心者powershellのPS1ファイル...
-
Eclipse
-
VBAとロングファイル名
おすすめ情報