情報が集まってきたら整理する。 それまではこのページに書いていく。
var _DirectoryPath = WScript.ScriptFullName.replace(/[\\\/]([^\\\/]+)$/, '');
var _XMLDom = new ActiveXObject('Microsoft.XMLDOM'); _XMLDom.load("config.xml") _XMLDom.async = false; var _Nodes = _XMLDom.documentElement.childNodes; for (var _Index = 0; _Index < _Nodes.length; _Index++) { var _Node = _Nodes[_Index]; WScript.Echo(_Node.getAttribute('name')); WScript.Echo(_Node.getAttribute('adspath')); WScript.Echo(_Node.getAttribute('user')); WScript.Echo(_Node.getAttribute('pass')); WScript.Echo(''); WScript.Echo(''); } _XMLDom = null;
<?xml version="1.0" encoding="Shift_JIS"?> <config> <domain name="TopDomain" adspath="LDAP://DC01.codereign.org/DC=codereign,DC=org" user="user0001" pass="TopDomainPassword" /> <domain name="SubDomain" adspath="LDAP://DC02.sub.codereign.org/DC=sub,DC=codereign,DC=org" user="user0002" pass="SubDomainPassword" /> </config>
/// --------------------------------------------------------------------------- /// <summary>Microsoft Office ファイルを読取専用で開くスクリプト</summary> /// <remarks>対応済みアプリケーション:Word, Excel, MSProject, Visio, PowerPoint</remarks> /// <author>Reign</author> /// <homepage href="http://www.codereign.org/">CodeReign</homepage> /// --------------------------------------------------------------------------- if (WScript.Arguments.length == 0) { WScript.Echo('開きたいファイルをドラック&ドロップしてください。'); WScript.Quit(); } var _Word = null; var _Excel = null; var _Project = null; var _Visio = null; var _PowerPoint = null; for (var _Index = 0; _Index < WScript.Arguments.length; _Index++) { var _FilePath = WScript.Arguments(_Index); var _Extension = _FilePath.replace(/.*\./, ''); if (_Extension.toLowerCase() == 'doc') { if (_Word == null) _Word = new ActiveXObject('Word.Application'); _Word.Visible = true; _Word.Documents.Open(_FilePath, null, true); } else if (_Extension.toLowerCase() == 'xls') { if (_Excel == null) _Excel = new ActiveXObject('Excel.Application'); _Excel.Visible = true; _Excel.Workbooks.Open(_FilePath, null, true); } else if (_Extension.toLowerCase() == 'mpp') { if (_Project == null) _Project = new ActiveXObject('MSProject.Application'); _Project.Visible = true; _Project.FileOpen(_FilePath, true); } else if (_Extension.toLowerCase() == 'vsd') { if (_Visio == null) _Visio = new ActiveXObject('Visio.Application'); _Visio.Visible = true; _Visio.Documents.OpenEx(_FilePath, 2); } else if (_Extension.toLowerCase() == 'ppt') { if (_PowerPoint == null) _PowerPoint = new ActiveXObject('PowerPoint.Application'); _PowerPoint.Visible = true; _PowerPoint.Presentations.Open(_FilePath, -1); } }
/// --------------------------------------------------------------------------- /// <summary>新しいExcel Applicationでブックを開くスクリプト</summary> /// <remarks></remarks> /// <author>Reign</author> /// <homepage href="http://www.codereign.org/">CodeReign</homepage> /// --------------------------------------------------------------------------- if (WScript.Arguments.length == 0) { WScript.Echo('開きたいファイルをドラック&ドロップしてください。'); WScript.Quit(); } var _Excel = new ActiveXObject('Excel.Application'); for (var _Index = 0; _Index < WScript.Arguments.length; _Index++) { var _FilePath = WScript.Arguments(_Index); var _Extension = _FilePath.replace(/.*\./, ''); _Excel.Visible = true; _Excel.Workbooks.Open(_FilePath, null, false); }
/// --------------------------------------------------------------------------- /// <summary>入力ダイアログボックス</summary> /// --------------------------------------------------------------------------- function InputBox() { this.script = new ActiveXObject('ScriptControl'); this.script.Language = 'VBScript'; this.script.AddCode('Function IB(prompt, ditle, default)\n IB = InputBox(prompt, ditle, default)\n End Function'); } /// --------------------------------------------------------------------------- /// <summary>入力ダイアログボックスを表示する</summary> /// <param name="APrompt">ダイアログ ボックス内にメッセージとして表示する文字列</param> /// <param name="ATitle">ダイアログ ボックスのタイトル バーに表示する文字列 </param> /// <param name="ADefault">テキスト ボックスに既定値として表示する文字列</param> /// --------------------------------------------------------------------------- InputBox.prototype.prompt = function(APrompt, ATitle, ADefault) { return this.script.Run('IB', APrompt, ATitle, ADefault); } var _InputBox = new InputBox(); var _InputText = _InputBox.prompt('APrompt', 'ATitle', 'ADefault'); WScript.Echo(_InputText);
/// --------------------------------------------------------------------------- /// <summary>標準出力画面に値を表示する</summary> /// --------------------------------------------------------------------------- function echo(AMessages) { var _Message = ''; for (var _Index = 0; _Index < arguments.length; _Index++) { _Message += arguments[_Index]; } WScript.Echo(_Message); } /// --------------------------------------------------------------------------- /// <summary>縦横変換</summary> /// --------------------------------------------------------------------------- function transpose(ATable) { var _MaxColumns = 0; // 最大列数を取得 for (var _RowIndex = 0; _RowIndex < ATable.length; _RowIndex++) { if (_MaxColumns < ATable[_RowIndex].length) _MaxColumns = ATable[_RowIndex].length; } // 縦横変換テーブルの初期化 var _Table = new Array(_MaxColumns); for (var _RowIndex = 0; _RowIndex < _Table.length; _RowIndex++) { _Table[_RowIndex] = new Array(ATable.length); for (var _ColIndex = 0; _ColIndex < _Table[_RowIndex].length; _ColIndex++) { _Table[_RowIndex][_ColIndex] = ''; } } // 縦横変換 for (var _RowIndex = 0; _RowIndex < ATable.length; _RowIndex++) { for (var _ColIndex = 0; _ColIndex < ATable[_RowIndex].length; _ColIndex++) { _Table[_ColIndex][_RowIndex] = ATable[_RowIndex][_ColIndex]; } } return _Table; } var _Table = []; _Table.push(['1A', '1B', '1C']); _Table.push(['2A', '2B', '2C']); _Table.push(['3A', '3B']); _Table.push(['4A', '4B', '4C']); _Table.push(['5A', '5B', '5C']); _Table.push(['6A', '6B', '6C', '6D']); echo('縦横変換(入替前)'); for (var _RowIndex = 0; _RowIndex < _Table.length; _RowIndex++) { echo(_Table[_RowIndex].join(",")); } echo(''); echo(''); echo('縦横変換(入替後)'); _Table = transpose(_Table); for (var _RowIndex = 0; _RowIndex < _Table.length; _RowIndex++) { echo(_Table[_RowIndex].join('\t')); }
/// --------------------------------------------------------------------------- /// <summary>拡張子を戻す</summary> /// --------------------------------------------------------------------------- function getFileExtension(AFileName) { var startExtensionIndex = AFileName.lastIndexOf('.'); if (startExtensionIndex < 0) return ''; if (startExtensionIndex == 0) return ''; return AFileName.substring(startExtensionIndex + 1); }
/// --------------------------------------------------------------------------- /// <summary>拡張子を除いたベース名を戻す</summary> /// --------------------------------------------------------------------------- function getFileNameWithoutExtension(AFileName) { var startExtensionIndex = AFileName.lastIndexOf('.'); if (startExtensionIndex < 0) return AFileName; if (startExtensionIndex == 0) return ''; return AFileName.substring(0, startExtensionIndex); }