SSブログ

FileMakerから出力したファイルにおいてフィールド内改行を改行に変更する(Windows) [FileMaker]

FileMakerからCSVなどのテキスト出力をすると、FileMakerのフィールド内改行は改行されない状態で表示されます。これはFileMakerのフィールド内改行が垂直タブChr(11)であるのに対してWindowsの改行コードがChr(13)+Chr(10)であることによります。そこで、CSV出力後、改行コード変換するVBScriptを作成しました。FileMakerから出力するCSVをExportFile.csv、変換するVBScriptの名前をReplace.VBSとし、それぞれカレントフォルダ(ファイルメーカーのファイルのあるフォルダ)にあるものとします。

【Replace.VBS】
On Error Resume Next
Dim ReadFile, FileData, Henkan, WriteFile, FilePath

Set FS = WScript.CreateObject("Scripting.FileSystemObject")
FilePath = Replace(WScript.ScriptFullName,WScript.ScriptName,"ExportFile.csv")
Set ReadFile =FS.OpenTextFile( FilePath )
FileData = ""
Do Until ReadFile.AtEndOfStream
  FileData = FileData & ReadFile.ReadLine & vbCrLf
Loop
ReadFile.Close

Henkan = Replace(FileData, Chr(11), vbCrLf)

Set WriteFile =FS.CreateTextFile( FilePath )
WriteFile.Write Henkan
WriteFile.Close

If Err.Number <> 0 Then
MsgBox("エラーが起きました。")
End If

【ファイルメーカーのスクリプト:Export】
レコードエクスポート[ダイアログなし;「ExportFile.csv」;日本語 (Shift-JIS)]
Eventを送信[「aevt」; 「odoc」; 「Replace.VBS」]

【サンプルファイル】
サンプルVtabReturnのzip圧縮ファイル(11_VtabReturnWin.zip)をアップしておきますのでお試しください。Lhacaなどのアーカイバで解凍してご使用ください。
http://www001.upp.so-net.ne.jp/MedFiles/samples.html

P.S. 同様の変換は、MacではAppleScriptで自動実行することができます。
nice!(8)  コメント(0)  トラックバック(0) 
共通テーマ:趣味・カルチャー

nice! 8

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

トラックバック 0