2017-04-12 12 views
0

回答を見つけた「質問」を投稿する方法がわかりませんでしたが、私が費やした時間を他の人に節約する価値があると思っていましたこれを行う方法を考え出す。VBS二重段落のスペースを単一のスペースで検索/置換する

私は、テキストを取り除き、何かに貼り付けるPDFを(たくさんのページや書式を使って)持っています。ただし、単純なコピー/貼り付けでは列にテキストが残っていて、段落スペースが自動的に挿入され、end, delete, spaceを押す必要があります。その後、無期限にシーケンスを繰り返します。まあ、それはプログラミングのために作られたものです。あなたのために繰り返される仕事をしているので、そうする必要はありません。

私の答えは以下の通りです。 誰かがもっと良い解決策を持っていれば私に教えてください!

答えて

0

以下、私が作成したvbscriptからコードを貼り付けました。あなたはまだあなたのテキストファイルに戻り、あなたがプログラムした標準テンプレートに従わなかったスクリプトを実行した後にいくつかのビット&を修正する必要があります。

また、私はnotepad ++を使用して、アドビリーダーがキャリッジリターンと改行をどのように扱っているかを判断しました(今日の区別がぼやけているので)。私はthisの記事とその回答をAATで参照してくれました。これは私がその違いを理解する助けになりました。受け入れられた答えは、特にVBを参照するときに便利です。

REM Set constants, then open file and copy into a buffer (contents) 
Const ForReading = 1, ForWriting = 2 
Dim fs, txt, contents 

Set fs = CreateObject("Scripting.FileSystemObject") 
Set txt = fs.OpenTextFile("originalTextFile.txt", ForReading) 
contents = txt.ReadAll 
txt.Close 

REM Replace a double carriage return with un-repeatable text that as placeholder 
contents = Replace(contents, vbCrLf & vbCrLf, "$%^&") 

REM then replace leftover carriage returns with blank, 
contents = Replace(contents, vbCrLf, "") 
contents = Replace(contents, vbCrLf, "") 

REM finally, restore original carriage returns for paragraph spacing 
contents = Replace(contents, "$%^&", vbCrLf & vbCrLf) 
contents = Replace(contents, "$%^&", vbCrLf & vbCrLf) 

REM Write to file 
Set txt = fs.OpenTextFile("textFileRemovedSpaces.txt", ForWriting) 
txt.Write contents 
txt.Close 

MsgBox("Done!") 

ステップ1:テキストファイルとしてPDFを保存 - このは、Adobe Readerで画像/などを取り除き、ファイル行う - >テキスト - その他として>保存を。

ステップ2:上記のファイルをSomething.vbsとして保存し、必要に応じてスクリプトでファイル名を編集します。スクリプトの空のテキストファイルを作成して、編集したテキストを保存するようにしてください。メモ:vbsでは、テキスト「REM」はコメントが続くことを示します。

ステップ3:スクリプトを実行します。

ステップ4:利益!

ほとんどの場合、単語文書に変換するのに必要な300ページのPDFを編集するのに多くの労力を費やすので、これは便利です。

もう一度、より良い解決策をお持ちの場合は、お知らせください。

関連する問題