作成日 2005/11/3
最終更新日 2005/11/3

Mac版ExcelVBAから、ファイルのTypeとCreatorの取得と変更を行う方法

 まず、TypeとCreatorについて知らない人は、
「ファイルを保存した場合、Typeと Creatorはどうなるのかを調べた」
を先に読んでください。(クリックすると別ウインドウで表示します。)

 Mac版のエクセルorエクセルVBAからファイルを作成した場合、TypeとCreatorは
「ファイルを保存した場合、Type と Creatorはどうなるのかを調べた」の表3、表4
の通りになります。(クリックすると別ウインドウで表示します。)
 しかし、変えたい場合もあると思います。(※1)

 ということで、ここではVBAから、ファイルのTypeとCreatorの
取得と変更を行う方法について説明します。(※2)

※1:例えば、標準モジュールをエクスポートした場合、ファイルのTypeは"????"、Creatorは"XCEL"となります。
   そうではなくて、Typeは"TEXT"、Creatorは"ttxt"にしたいです。
※2:基本的にAppleScriptに処理を丸投げします。しかし、だるまはAppleScriptに関しては超初心者です。注意してください。

1.TypeとCreatorの取得方法
2.TypeとCreatorの設定方法
3.サンプルをダウンロードして使ってみたい

1.TypeとCreatorの取得方法

 説明するのが面倒くさいので、適当に説明します。
また、説明を簡単にするために、エラー処理は説明しません。

 以下のAppleScriptのコードのうち、赤文字で書いた部分を変えて、
(例:Macintosh HD:aaa.txt)
実行してみてください。

表1 TypeとCreatorを取得して表示するAppleScriptのコード
AppleScript のコード
概要:指定したパスにあるファイルの TypeとCreatorを取得し、ダイアログボックスに表示する
set FileInfo to info for (file "ファイルの絶対パス")
set theType to file type of FileInfo
set theCreator to file creator of FileInfo
display dialog "typeは" & theType & "
Creatorは" & theCreator

 あとは、上のAppleScriptのコードを改造し、エクセルVBAのMacScript関数から呼び出せばOKです。
このページのトップへ

2.TypeとCreatorの設定方法

 説明するのが面倒くさいので、適当に説明します。
また、説明を簡単にするために、エラー処理は説明しません。

 以下のAppleScriptのコードのうち、赤文字で書いた部分を変えて、
(例:Macintosh HD:aaa.txt)
さらに、青文字で書いた部分を変えて、実行してみてください。
※注意:適当なテキストファイルを作成し、それのTypeとCreatorを変更してください。
大事なファイルのTypeとCreatorは変更しないようにしてください。

表2 TypeとCreatorを変更するAppleScriptのコード
AppleScriptのコード
概要:指定したパスにあるファイルの TypeとCreatorを変更する
tell application "System Events"
    set theFile to file (" ファイルの絶対パス")
    set creator type of theFile to "aaaa"
    set file type of theFile to "bbbb"
end tell

 あとは、上のAppleScriptのコードを改造し、エクセルVBAのMacScript関数から呼び出せばOKです。
このページのトップへ

3.サンプルをダウンロードして使ってみたい

 サンプルのダウンロード(ファイル名: set_type_and_creator.xls)
※このサンプルではエラー処理を行っています。
(例えば、Windows版のExcelから実行されているかどうかのチェックやファイルの存在チェックなど)
詳しい事はソース中のコメントを読んでください。


関数の簡単な説明:

表3 サンプルにある関数の簡単な説明
関数
説明
getFileType(ファイルの絶対パス)
ファイルのTypeを返す
getFileCreator(ファイルの絶対パス) ファイルのCreatorを返す
setFileType(ファイルの絶対パス,変更後のType) ファイルのTypeを変更する
setFileCreator(ファイルの絶対パス,変更後のCreator) ファイルのCreatorを変更する


Prev Up Next  Top
このページのトップへ


このページの利用によって発生した、いかなる損害について、このホームページの作成者は責任を負いません。
このページの間違いや嘘を見つけた方、このページに書いて欲しい情報がある方はメールをお願いします。

Microsoft 、Windows 、Visual Basic および Excel は米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。
ここではExcel® をエクセル、Visual Basic® for Applications をVBAと表記する場合があります。
Mac 、Mac OS 、Mac OS X は米国Apple Computer,Inc.の登録商標または商標です。
その他、社名および商品名、システム名称などは、一般に各社の商標または登録商標です。

このホームページの作成者はこれらの会社とはいっさい関係がありません。