プロが教える店舗&オフィスのセキュリティ対策術

 
当方看板屋なのですが、仕事の案件を管理するデータベースをファイルメーカーPro5.5(MacOS9.2)にて作成しています。


質問ですが、ファイルメーカーのデータベースから、その案件の製作データなどを格納したフォルダ(OS内のフォルダ)を開くというような操作をしたいのですが・・・

1、ダイアログでフォルダを指定して、テキストフィールドにフォルダのパスを書き出す方法

2、書き出されたパスからフォルダを開く方法

を、それぞれ知りたいのですが、ご存知の方おられるでしょうか。

先日、別の質問(http://oshiete1.goo.ne.jp/qa2506230.html)にて、オブジェクトフィールドを使って画像データを開く方法を教えていただいたのですが、今度は同じようなことをフォルダでやれないかと考えまして・・・


ウインドウズなら「URLを開く」で、開くことは可能らしいのですが、Macで試してみましたができないみたいです。アップルスクリプトを使えば可能なような気がしてるのですが、当方、アップルスクリプトは勉強中でして、まだ実用するほどの知識がありません。


1のところで「ダイアログで指定」と書きましたが、入力が楽だろうと思ったからなんですが、別の方法でもかまいません。 ただ、パスを毎回手入力するのは避けたいです。(膨大な量なので)

よろしくお願い致します。
 

A 回答 (7件)

>傾向的に、パスの文字数に制限があるのかなと感じたのですが



いくら深い階層のフォルダを指定してパスが長くなってももエラーは出ないようです。
同じような環境でテストするためOSXのクラシック環境でFM4で試しましたが、FM4でも
フィールドの文字数制限は全角32,000文字です。フォルダ名に特殊な記号とかを使ってい
ませんか?でもフォルダ名に使えない文字が入っているとOSが警告しますし・・・

この回答への補足

質問を新設しました。

【ファイルメーカーPro5.5】 ファイルパスの文字制限?
http://oshiete1.goo.ne.jp/oshiete_new.php3

補足日時:2006/11/02 12:52
    • good
    • 0
この回答へのお礼

そうですか。そちらでは普通にできましたか・・・

試しに、問題のあったフォルダの名前を短く変更すると大丈夫でした。
ただ、不可解なのは、当該のフォルダよりも長い文字数の別のフォルダは大丈夫だったりします。

文字列も疑ってみたので名前をいろいろ変更して試したのですが、普通の全角文字でエラーが出るようです。

それと、普通に大丈夫だったフォルダも、下層のフォルダを指定すると、やはりダメでした。

現状思い当たるのはフォルダパスの文字数しか考えられないんですけど・・・ひとまず作業自体はできるようになったので、この件は一旦締め切って、別で質問を立てようと思います。ここの補足に新設の質問のURLを載せてから、質問を締め切ります。


親身にいろいろありがとうございました。
本当に助かりました。

お礼日時:2006/11/02 11:49

小出しになってしまってすみません。

(私も苦手なので)
親フォルダ表示があった方がいろいろと便利なこともあるので前述のスクリプト
にしましたが、直接フォルダを開くのは
activate
set folderPath to get data cell "folder" of current record
tell application "Finder" to open folder folderPath
でいいようです。
    • good
    • 0

エラーが出るのはfilepathですかfolderpathですか?


filepathは使っていないのでスクリプトの中にこれがあるとエラーになります。
下のスクリプトをコピーしてスクリプト記述窓にペーストしてみてください。

activate
set folderPath to get data cell "Folder" of current record
tell application "Finder"
select folder folderPath
reveal selection
open selection
end tell
activate application "Finder"

この回答への補足

>エラーが出るのはfilepathですかfolderpathですか?

すいません。描き間違えがありました。エラーは「folderpath」のほうです。

追加アドバイスを参考にいろいろ試してみますね。
成功したらまた報告させていただきます。
ありがとうございます。

補足日時:2006/11/01 19:35
    • good
    • 0
この回答へのお礼

フォルダの選択、フォルダを開く作業、ともにほぼ作動しました。
ただ新たな問題点が・・・

どうもフォルダパスの文字数が長くなるとエラーが出るようなんです。
文字数が原因かはまだ調査中なんですが、いくつかフィールドに書き出せないフォルダがあって、それらにスクリプトを実行したら

alias"パス名"をstringに型変換することはできません。(エラー-1700)

とエラーメッセージが出ます。


同じように、書き出しができているフォルダの、さらに下層のフォルダも書き出せませんでした。

傾向的に、パスの文字数に制限があるのかなと感じたのですが・・・

お礼日時:2006/11/01 20:28

なるほどchooseでいいのか。

chieffishさんありがとう。

というわけで、最初の希望どおりダイアログを出してフォルダを選ぶスクリプトは、

AppleScriptを実行
 set the folder_path to (choose folder) as text
 set cell "folderpath" of current record to Folder_Path

になります。

開く方はAppleEvent一発なんだから、前回のfile_openをフィールド名だけ変えて流用すればいいんですよ。
    • good
    • 0
この回答へのお礼

この回答のスクリプトを試しましたが、うまく作動しませんでした。
OS9.2だからかなぁ・・・

とりあえず書き出しのほうは、No5のやりかたでいけましたが、今度は新たな不具合が・・・

フォルダを開くほうですが、No6のやりかたでいけたのですが、ウインドが前面に来てくれなかったんで、grumpyさんに教えていただいたAppleEventを使った方法と組み合わせたところ上手くいきました。

ありがとうございました!

お礼日時:2006/11/01 20:43

二つめのスクリプトでは親フォルダしか開きませんね。


reveal selectionのうしろにopen selectionを追加。

この回答への補足

open selection は最初、半角スペースの後に入れたらエラーになったんで、改行して入れると大丈夫でした。

いずれにしても、実行時の「filepath変数は定義されていません。」のエラーが出ます・・・

補足日時:2006/11/01 16:22
    • good
    • 0

ファイルメーカーのファイルにFolderというテキストフィールドを作り、


スクリプトAを作ります。スクリプトの内容は「Applescriptを実行」のみで記述は

activate
set folderPath to (choose folder with prompt "フォルダーを指定して下さい")
set pathtext to folderPath as string
tell application "ファイルメーカー Pro.5.5"
activate
set cell "Folder" of current Record to pathtext
end tell

このスクリプトを実行すれば、最初にファイルメーカー本体の場所を聞いてくるの
で指定し、次に目的のフォルダーを指定すれば、そのパスがFolderフィールドに入
ります。

もうひとつスクリプトBを作って、同じように
activate
set folderPath to get data cell "Folder" of current record
tell application "Finder"
select folder folderPath
reveal selection
end tell
activate application "Finder"

として、このスクリプトを実行すれば現在のレコードのFolderフィールドに入って
いるパス先のフォルダが開きます。

この回答への補足

目からウロコです!
ありがとうございます!!

とりあえずフォルダパスを書き出すほうのスクリプトは成功。

ただ、フォルダパスからフォルダを開くスクリプトでは
「folderpath変数は定義されていません(エラー -2753)」
とエラーメッセージが表示されます。

もう一息っぽいんですが・・・

補足日時:2006/11/01 16:19
    • good
    • 0

前回の質問でのfilepathフィールドを見て下さい。


DATA:user:Graphics:chromchart.pdf
のようになっているはずです。ここから最後のファイル名を削って
フォルダ名までにしてみます。
DATA:user:Graphics:
こんな感じになりますね。で、そのまま前回のfile_openスクリプト
を走らせれば、Finderで該当するフォルダが開くことが判ります。

なるほどねってわけで、アプローチは2つ。
1.前回のfilepathフィールドを加工して「挿入した図を含むフォル
ダ」を示すfilderpathフィールドを作ってやる。「最後のコロンま
で」なんだから、
left(filepath,1,position(filepath,":",512,-1))
でオッケー。

2.前回とは独立にfolderpathを簡単に取り込むスクリプトを作る。
ある程度確認しながら作業することを考え、「Finderで一番手前の
ウィンドウを取り込む」仕様にすると、
AppleScriptを実行
 tell application "Finder" to set the folder_path to (folder of the front window) as text
 set cell "folderpath" of current record to Folder_Path
みたいな感じ。実はファイルダイアログを表示してフォルダを指定
する方法を知らないんだけど。
    • good
    • 0
この回答へのお礼

前回も今回もありがとうございます!

それにしてもみんなAppleスクリプトにお詳しいんですね^^
自分ももっと勉強してファイルメーカーを使いこなしたいんですけど、どんな本読めばいいんでしょうか?

お礼日時:2006/11/01 16:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す