サポート > PC-MAPPING ヒント集 > スクリプト > スクリプトによるプロジェクトタイトル設定
スクリプトによるプロジェクトタイトル設定
指定したフォルダー内にある複数のプロジェクトファイル名をプロジェクトタイトルに設定し、上書き保存するスクリプトです。
■ サンプル
サンプル[script21.zip(約3KB)]をダウンロードする
PcmSetPrjTitle.js:サンプルJScript
PcmSetPrjTitle.vbs:サンプルVBScript

■ 準備
JScriptの場合「PcmSetPrjTitle.js」、VBScriptの場合「PcmSetPrjTitle.vbs」を記述します。
ここでは、「PcmSetPrjTitle.js」を例に記述します。

  1. ダウンロードしたファイルを「C:\sample\script21」へ解凍します。

  2. プロジェクトファイル(*.pcm)を保存したフォルダーを準備します。
    ここでは、「C:\sample\script21\*.pcm」とします。

    ▼プロジェクトファイル「sample.pcm」のプロジェクトタイトル「A」

■ 解説
要点1
フォルダーを指定するダイアログボックスは、アプリケーションクラス:GetUIFolderName()メソッドを使用します。
ファイルを指定するダイアログボックスは、アプリケーションクラス:GetUIFileName()メソッドを使用します。

[JScriptの場合]
var strPath = objApp.GetUIFolderName("", "プロジェクトファイル保存元フォルダを指定してください", 0);

[VBScriptの場合]
strPath = objApp.GetUIFolderName("", "プロジェクトファイル保存元フォルダを指定してください", 0)

要点2
フォルダーやファイル等を操作できるFileSystemObjectオブジェクトを使用します。
これは、PC-MAPPINGオートメーションとは異なり、Microsoftから提供されているScriptランタイムです。

[JScriptの場合]
var objFs = new ActiveXObject("Scripting.FileSystemobject");

[VBScriptの場合]
Set objFs = CreateObject("Scripting.FileSystemobject")

要点3
指定したフォルダー内にある全てのファイルを検索し、拡張子「.pcm」のファイルパスを取得、文字列配列クラス:Add()メソッドで文字列配列オブジェクト(objAs)に格納します。

[JScriptの場合]
var objAs = objApp.CreateArrayStr();
var objFo = objFs.GetFolder(strPath);
var objEn = new Enumerator(objFo.Files);
 for (; !objEn.atEnd(); objEn.moveNext()) {
 var strExt = objEn.item().Name.substring(objEn.item().Name.length-4);
 if(strExt.toLowerCase() == ".pcm"){
  lngTemp = objAs.Add(strPath + objEn.item().Name);
 }
}

[VBScriptの場合]
Set objAs = objApp.CreateArrayStr()
Set objFo = objFs.GetFolder(strPath)
For Each objFi In objFo.files
 strExt = Right(objFi.Name, 4)
 If strComp(strExt, ".pcm", 1) = 0 Then
  lngTemp = objAs.Add(objFi.Path)
 End if
Next

要点4
文字列配列クラス:GetAt()メソッドでファイルパスを取得し、ベクタープロジェクトクラス:Load()でプロジェクトファイルを開きます。

[JScriptの場合]
var objPrj = objApp.CreateProject();
blnTemp = objPrj.Load(objAs.GetAt(i))
:
var objFi = objFs.GetFile(objAs.GetAt(i));
objPrj.Title = objFi.Name.substring(0, objFi.Name.length-4);

[VBScriptの場合]
Set objPrj = objApp.CreateProject()
blnTemp = objPrj.Load(objAs.GetAt(i))
:
Set objFi = objFs.GetFile(objAs.GetAt(i))
objPrj.Title = Left(objFi.Name, Len(objFi.Name)-4)

■ 実行
  1. プロジェクト等を開いている場合は、全て閉じます。

  2. スクリプトファイル「PcmSetPrjTitle.js」を開きます。

  3. [スクリプト]リボン-[スクリプト]-[実行]を実行します。

  4. プロジェクトファイル(*.pcm)が保存されているフォルダーを指定し、<OK>ボタンを押します。

  5. 以下のメッセージボックスが表示されますので、<OK>ボタンを押し、終了します。

  6. プロジェクトファイル「sample.pcm」を開くと、プロジェクトタイトル「sample」と設定されている事がわかります。