JScriptでVisioのプロパティを変更する

しつこい。……といいつつ、実はVisioだけAPIの体系が全然違ったりするんだよなぁ。さすがは元々他社製品だっただけのことはある。Excelなどは○○.ApplicationでCreateObjectすると非表示状態で立ち上がるのだが、Visioは表示状態になるので、Visio.InvisibleAppでCreateObjectする必要がある。

/*
 * MS-VISIOのプロパティを設定する
 * properties: プロパティのDictionary
 */
function visio_setting(filename, properties) {
    var visio = WScript.CreateObject("Visio.InvisibleApp");
    var document = visio.Documents.Open(filename);
    
    // プロパティの設定
    for (var key in properties) {
        if (key == "Title") document.Title = properties[key];
        else if (key == "Title") document.Title = properties[key];
        else if (key == "Subject") document.Subject = properties[key];
        else if (key == "Creator") document.Creator = properties[key];
        else if (key == "Manager") document.Manager = properties[key];
        else if (key == "Company") document.Company = properties[key];
        else if (key == "Category") document.Category = properties[key];
        else if (key == "Keywords") document.Keywords = properties[key];
        else if (key == "Description") document.Description = properties[key];
    }
    
    document.Save();
    document.Close();
    visio.Quit();
}