DavidはWordでフォームを作成しました。彼が単一のフォームのデータをエクスポートするとき、彼はコンマ区切り(CSV)情報の1つの長い行を取得する必要があります。

残念ながら、一部のフィールドのコンテンツにはリターンがあります。これは、これが発生するたびに、CSVで新しい行を取得することを意味します。デビッドは、この状況に対処するための最良の方法について疑問に思います。

この状況に対処するには、いくつかの方法があります。最初の可能なアプローチは、フォームコントロールが終了するたびに実行されるマクロを作成することです。このマクロをテキストフォームフィールドに関連付けて、フィールドの内容を調べ、スペースなどの別の文字に置き換えて返すことができます。このようなマクロの例を次に示します。

Sub RemoveReturns()

Dim sTemp as String

sTemp = ActiveDocument.FormFields("Text1").Result     sTemp = Replace(sTemp, vbCrLf, " ")

ActiveDocument.FormFields("Text1").Result = sTemp End Sub

マクロが行うのは、フォームフィールドの内容を取得し、戻り値(vbCrLf)をスペースに置き換えて、内容をフォームフィールドに戻すことだけです。次の方法で、マクロをフォームフィールドに関連付けることができます。

。フィールドを右クリックします。 Wordはコンテキストメニューを表示します。

。 [コンテキスト]メニューから[プロパティ]を選択します。 Wordは、[テキストフォームフィールドオプション]ダイアログボックスを表示します。 (図1を参照)

。 [マクロの実行]セクションで、[終了]ドロップダウンリストを使用して、フォームフィールドが終了したときに実行するマクロを選択します。

。 [OK]をクリックします。

別のアプローチは、CSVファイルが作成された後に(フォームデータをエクスポートすることによって)戻り文字を取り除くことです。 CSVファイルはプレーンテキストです。つまり、Wordまたはテキストエディタに読み込むことができます。次に、プログラムの検索および置換機能を使用して、返品を検索し、スペースに置き換えることができます。ただし、そうする際には、2つのことに注意する必要があります。まず、すべての返品を置き換えないようにする必要があります。CSVの各行の最後にあるものをそのままにしておきます。次に、CSVドキュメントをフォーマットせずに、つまりプレーンテキストファイルとして保存し直す必要があります。

注:

このページ(または_WordTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ wordribbon-WordTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_WordTips_は、費用効果の高いMicrosoftWordトレーニングのソースです。

(Microsoft Wordは、世界で最も人気のあるワードプロセッシングソフトウェアです。)このヒント(5913)は、Microsoft Word 2007、2010、2013、2016、2019、およびOffice365のWordに適用されます。