1

FoldingTextのアウトライン(基本的にはMarkdown Textファイル)をRemarkプレゼンテーション(Markdownファイルからスライドショーを作成するHTMLスクリプト)に変換するFoldingTextのスクリプトに取り組んでいます。スクリプトは機能しますが、次のような改善を行いたいと思います。

HTMLファイルを保存するための名前と場所を尋ねる代わりに、現在のドキュメントの名前を取得して、現在のフォルダーにHTMLファイル(同じ名前)として保存したいと思います。その名前のドキュメントがすでに存在する場合、スクリプトはうまく失敗するはずです(ドキュメントを上書きするか、別の名前の新しいドキュメントとして保存することを提案します)。

ファイルへの書き込みに使用しているスクリプトは、これらのフォーラムからのものです。最初の部分は次のとおりです。

on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean)
try
    set the target_file to the target_file as text
    set the open_target_file to ¬
        open for access file target_file with write permission
    if append_data is false then ¬
        set eof of the open_target_file to 0
    write this_data to the open_target_file starting at eof as «class utf8»
    close access the open_target_file
    return true
on error
    try
        close access file target_file
    end try
    return false
end try
end write_to_file

そして2番目の部分は次のとおりです。

    set theFile to choose file name with prompt "Set file name and location:"
my write_to_file(finalText, theFile, true)

ありがとう。

4

1 に答える 1

0

FoldingTextには、ドキュメントのパスを取得するための何らかの方法が必要です。アプリケーションの無料のdowonloadが見つからなかったので、自分で確認することはできませんが、アプリケーションの辞書を表示すれば見つけることができるはずです。

私の推測では、FoldingTextドキュメントには「pathof」や「fileof」などのプロパティがあります。

あなたはおそらくこのようなものになってしまうでしょう:

set theDocPath to file of front document of application "FoldingText"
tell application "Finder"
set theContainer to container of theFile
end tell
set newPath to (theContainer & "export.html) as string
repeat while (file newPath exists)
set newPath to choose file name with prompt "Set file name and location:"
end repeat

my write_to_file(finalText, newPath, true)
于 2013-02-25T09:28:16.790 に答える