だから私はRAP(アドバタイズされたプログラムを実行する)を一掃するvbスクリプトを持っています。プログラムに最後の実行時間がなく、そのプログラムのフルネームが配列にある場合、この配列をメッセージボックスにエコーさせます。配列を初期化して 10 個の値を格納しますが、メッセージ ボックスをきれいに保つために、すべてのプログラムが見つかったら配列サイズを ReDim したいと思いました (3 を超えてはいけませんが、クライアントを知っている人はいません)。ただし、配列のサイズを変更できないようで、10個の配列スロットと見つかったプログラムを含むメッセージボックスが出力されます。
Dim vprglist(10)
Dim i
Dim strBuf
Dim intIndex
Set vprograms = oUIResource.GetAvailableApplications
i = 0
For Each vprogram In vprograms
If vprogram.LastRunTime = "" Then
vprglist(i) = vprogram.FullName
i = i + 1
End If
Next
ReDim Preserve vprglist(i)
If vprglist <> Null Then
For intIndex = LBound(vprglist) To UBound(vprglist)
strBuf = strBuf & " - " & vprglist(intIndex) & vbLf
Next
vmsgbox = MsgBox("Do you want to Install(Yes) or Defer(No) the follow software: " & vbLf & strBuf,64+4)
Select Case vmsgbox