clsEVCVBCsControlクラスについて

 clsEVCVBCsControlクラスは、VBComponentsに対しての処理を行うクラスです。
え?
なんで、標準モジュールに書かなかったのかって?
気分ってやつです。

使用方法:
  1. 対象プロジェクトを指定する(VBProjectプロパティ)
  2. インポート , エクスポート or 削除を行う(Import,Export,Deleteメソッド)
  3. 必要であれば、インポート , エクスポート or 削除時のログを取得する(Logプロパティ)
  4. 必要であれば、インポート , エクスポート or 削除でかかった時間を取得する(ProcessingTimeプロパティ)

プロパティの定義
Public Property Get VBProject() As VBProject
Public Property Set VBProject(ByVal objVBProject)

対象プロジェクトの取得と設定。
Public Property Get Log() As Collection
ログの取得。
Public Property Get ProcessingTime() As Double
処理にかかった時間。(単位は秒でミリ秒単位まで。)

メソッドの定義
Public Sub Import(ByVal strDir As String, ByVal objFileNames As Collection)
対象プロジェクトにモジュールをインポートします。
Public Sub Export(ByVal strDir As String, ByVal objVBCNames As Collection _
                , Optional blnChangeLFC As Boolean = True _
                , Optional blnChangeTypeAndCreator As Boolean = False)

対象プロジェクトのモジュールをエクスポートします。
Public Sub Delete(ByVal objVBCNames As Collection)
対象プロジェクトのモジュールを削除します。


プロパティとメソッドの詳細
VBProject
Public Property Get VBProject() As VBProject
Public Property Set VBProject(ByVal objVBProject)


プロパティの説明:
対象プロジェクトの取得と設定。
Log
Public Property Get Log() As Collection

プロパティの説明:
  ログの取得。(String型のコレクション)
注意:
現在は、String型のコレクションですが、今後変更するかもしれません。
(これだと、成功、失敗により処理を切り分ける事が出来ない。)
下記のPrivate変数を持つクラスのコレクションにしようかなぁと考えています。
 エラーコード、エラータイプ(正常、警告、異常)、メッセージ、、、。

ProcessingTime
Public Property Get ProcessingTime() As Double

プロパティの説明:
  処理にかかった時間。(単位は秒でミリ秒単位まで。)

ミリ秒の取得にはutlDTMgetNowクラスを使用していますが、失敗した場合は、
ミリ秒は常に0です。
Import
Public Sub Import(ByVal strDir As String, ByVal objFileNames As Collection)

メソッドの説明:
  対象プロジェクトにモジュールをインポートします。
※1:このメソッドを呼び出すと、ログが初期化されます。
(Collectionクラスの新しいインスタンスが作成されます。)
※2:このメソッドを呼び出すと、処理開始時刻と処理終了時刻が上書きされ、
ProcessingTimeプロパティ値の値が変わります。

in引数:
strDir:インポートするファイルがあるディレクトリ名(絶対パス)
objVBCNames:インポートするファイル名リスト(Stringのコレクション)
スローするエラー:
ないはず。(エラーはログに書き込まれる。)
Export
Public Sub Export(ByVal strDir As String, ByVal objVBCNames As Collection _
                , Optional blnChangeLFC As Boolean = True _
                , Optional blnChangeTypeAndCreator As Boolean = False)


メソッドの説明:
 対象プロジェクトのモジュールをエクスポートします。
※1:このメソッドを呼び出すと、ログが初期化されます。
(Collectionクラスの新しいインスタンスが作成されます。)
※2:このメソッドを呼び出すと、処理開始時刻と処理終了時刻が上書きされ、
ProcessingTimeプロパティ値の値が変わります。

in引数:
strDir:エクスポート先ディレクトリ名(絶対パス)
objVBCNames:エクスポートするモジュールの名前リスト(Stringのコレクション)
blnChangeLFC:エクスポート後、改行コードをCRLFにするかどうか
       しない場合、CRとCRLFが混在した状態になります。
         ※拡張子がfrxのファイルの改行コードは変更しません。(バイナリファイルみたいなので。)
         ※この引数はMacでのみ有効です。(Windowsの場合は無視されます。)

blnChangeTypeAndCreator:エクスポート後、ファイルのTypeとCreatorを下記のように変更するかどうか。
       Type:????→TEXT
       Creator:XCEL→VBA
         ※:拡張子がfrxのファイルのTypeとCreatorは変更しません。
          (バイナリファイルみたいだし、中身を見る事が多分無い。)
         TypeとCreatorの変更には時間がかかります。(AppleScriptを使用しているため。)
         iBook 600MHz,OS:Mac OS X 10.3.9の場合で1ファイルにつき約4秒もかかりました。
         ※この引数はMacでのみ有効です。(Windowsの場合は無視されます。)
スローするエラー:
ないはず。(エラーはログに書き込まれる。)

Delete
Public Sub Delete(ByVal objVBCNames As Collection)

メソッドの説明:
 対象プロジェクトのモジュールを削除します。
※1:このメソッドを呼び出すと、ログが初期化されます。
(Collectionクラスの新しいインスタンスが作成されます。)
※2:このメソッドを呼び出すと、処理開始時刻と処理終了時刻が上書きされ、
ProcessingTimeプロパティ値の値が変わります。

in引数:
objVBCNames:削除するモジュールの名前リスト(Stringのコレクション)
スローするエラー:
ないはず。(エラーはログに書き込まれる。)