2016-05-23 9 views
1

FilemakerデータベースからのエクスポートであるExcelファイルのいくつかの列からキャリッジリターンを削除しようとしています。Applescriptを使用してExcelでキャリッジリターンをフィルタリングします。

Excelで削除する例がオンラインで見つかっていますが、AppleScriptに相当するものは見つかりませんでした。 1つの提案は、Excel、CLEAN(text_with_returns)でclean関数を使用することでした。私は、テーブルに新しい列を作成し、クリーンなバージョンを作成し、古い列を削除することができますが、より洗練されたソリューションがあるはずですか?

私は、ExcelのAppleScriptガイドのPDFにこの文字列が見つかりました:

replace (range "K:K" of worksheet "Sheet1") what "//r" replacement " " ¬ 
    search order by columns 

アイテムを交換するために、私はちょうど正しいフォームを発見していません。試してみました: "Char(10)"、Chr(10)、 "// n"

答えて

0

使用これらのAppleScript定数の1(returnlinefeed)。

replace (range "K:K" of worksheet "Sheet1") what return replacement " " search order by columns -- this replace the Mac line breaks, equal Chr(13) in VBA 

replace (range "K:K" of worksheet "Sheet1") what linefeed replacement " " search order by columns -- this replace the unix line breaks, equal Chr(10) in VBA 
0

FMPから離れていくのはいつも拍手がかかりますが、あなたがやっているやり方はかなり恐ろしいものです。 Excelスプレッドシートのmungeデータを巨大なSQLスクリプトにコード化しようとしていませんか?もしそうなら、それはデータ破損やその他の事故が起こるのを待っているだけのものです。

SQLスクリプトを作成する唯一のタスクは、データベースとそのテーブルを作成することです。 DB構造は非常に安全で簡単に固定されています。データをこれらのテーブルに移行するには、元のデータをparametersとしてINSERTステートメントに渡して、新しいデータベースへのODBC呼び出しを使用する方法があります。 (擬似コード):

cursor.execute("insert into products(id, name) values (?, ?)", productID, productName) 

それの年、私はどこにでもFMPの近くに行かなければならなかったので、私は具体的に助言することはできませんが、talk directly to other database systems via ODBC、その場合には、あなたが全体のデータ転送を行うことができるかもしれませんことができますFMP自体からは、データをダムの中間形式にエクスポートし、それを噛み砕くためのスクリプトを書くよりも速く簡単です。

+0

ありがとうFoo。私はFMデータベースを構築していない、私はそれを報告するように頼まれています。私は以前にODBC接続を調べていたので、なぜそれを救済したのか覚えていない。私はこのオプションを再訪するでしょう、この混乱のほうが望ましいでしょう。 – Gordon

関連する問題