0

再投稿された作業コード

(ActiveX コンポーネントから配列を取得しようとしていますが、うまくいきません。スクリプトを実行すると、空のメッセージ ボックスが表示されますが、配列がそこにあることはわかっています:)

var objMain, objAdapt, lgCount, stMsg = "";

objMain = new ActiveXObject("nnetcom.oMain");

objMain.UnlockComponent("xxx-xxxxx-xxxxx-xx");

objAdapt = new ActiveXObject("nnetcom.oNetworkAdapter");

objAdapt.GetNetworkAdapters(); // Collects Network Adapters

vrAdapters = objAdapt.cName; // cName holds collected Network Adapter names

var vrAdaptVB = new VBArray(vrAdapters);

var vrAdaptJS = vrAdaptVB.toArray();

for (lgCount in vrAdaptJS) {
  stMsg = stMsg + vrAdaptJS[lgCount] + '\r\n'; 
}

WScript.Echo(stMsg);

objAdapt = null
objMain = null
4

3 に答える 3

2
var vrAdaptVB = new VBArray(vrAdapters);

var vrAdaptJS = vrAdaptVB.toArray();

stMsg = "";

for (lgCount = 0; lgCount < vrAdaptJS.length; ++lgCount) {
 stMsg = stMsg + vrAdaptJS[lgCount] + '\r\n';
}
于 2012-04-23T20:09:26.480 に答える
0

または、最初に投稿された回答からの最も簡単な方法は次のとおりです。

var vrAdaptVB = new VBArray(vrAdapters);

var vrAdaptJS = vrAdaptVB.toArray();

stMsg = "";

for (lgCount in vrAdaptJS) {
 stMsg = stMsg + vrAdaptJS[lgCount] + '\r\n'; 
}

この例も私にとってはうまくいきます!

ネットワーク アダプタの一覧表示の作業例

于 2012-04-25T10:18:48.550 に答える
0

ハンスのコメントによると、

for (lgCount in vrAdapt)
{
    stMsg = stMsg + vrAdapt[lgCount] + '\r\n';
}

次のようにする必要があります。

for (lgCount in vrAdapt)
{
    stMsg = stMsg + lgCount + '\r\n';
}

lgCount は要素であり、インデックスではありません。

私の間違い。この例は機能します:

var list = {a:1,b:2,c:3,d:4,e:5};
var msg = "";
for (i in list) {
    msg = msg + list[i]; 
}
//msg = 12345

msg = "";
for (i in list) {
    msg = msg + i; 
}
//msg = abcde

var list = [1,2,3,4,5];
msg = "";
for (i in list) {
    msg = msg + i; 
}
//msg = 01234

msg = "";
for (i in list) {
    msg = msg + list[i]; 
}
//msg = 12345
于 2012-04-22T18:14:27.913 に答える