作成者カテゴリ 
公開
じゃみ
01/12/2007 01:37 PM
エージェント
ノーツサーバノーツクライアントサーバOSクライアントOSネットワークプロトコル
7.x7.xN/AWindows XP ProTCP/IP

リスト配列の初期化について

いつもお世話になっております。

リスト初期化についてご助言をいただきたく書き込ませていただきます。

現在作成しているスクリプトのループの中に、
リスト取得のためのForallステートメントがあります。
たとえば1回目の処理で、4つのリストがあったとします。
2回目の処理では3つしかないのですが4番目のリスト値が残っていて
正常な結果が出てくれません。
このForallで取得した配列を初期化することはできますでしょうか。
ちなみにForallで削除してしまおうとおもったのですが
「範囲外の添字です」とエラーが帰ってきました。
-----------------------------------------------------------
i = 1

uid = cdoc.UniqueID_M_1(0)

Do
Set pdoc = view.GetDocumentByKey(uid,True)

If pdoc Is Nothing Then
Messagebox"該当文書がありません。管理者に問い合わせてください。",64,"確認"
Exit Sub
End If

☆Forall rlang In slang
☆ If rlang = "" Then
☆ Exit Forall
☆ End If

☆ slang(j) = "" ←範囲外の添字です

☆ j = j + 1
☆End Forall

j = 0
Forall vlang In cdoc.GetItemValue("Langage_M_" & i)
If vlang = "" Then
Exit Forall
End If

slang(j) = Cstr(vlang)

j = j + 1
End Forall

pdoc.BUNSATU = cdoc.GetItemValue("BunsatsuName_M_"& i)(0)
pdoc.AUTHOR = cdoc.GetItemValue("TantoName_M_" & i)(0)
pdoc.NOKI_1 = Cdat(cdoc.GetItemValue("EndDay_M_" & i)(0))
pdoc.BUBAN = cdoc.GetItemValue("Buban_M_" & i)(0)
pdoc.GENGO = slang
pdoc.BRAND = cdoc.GetItemValue("Brand_M_" & i)(0)
pdoc.PAGE02 = cdoc.GetItemValue("Page_M_" & i)(0)
pdoc.BASYO = cdoc.GetItemValue("Nohin_M_" & i)(0)
pdoc.BAITAI = cdoc.GetItemValue("Media_M_" & i)(0)
pdoc.SeisakuCom = cdoc.GetItemValue("SeisakuCom_M_" & i)(0)

Call pdoc.ComputeWithForm(False,False)
Call pdoc.Save(False,False)

i = i + 1
uid = cdoc.GetItemValue("UniqueID_M_" & i)(0)
Loop Until uid = ""
-----------------------------------------------------------
☆の部分が初期化を試そうとしてエラーになった部分です。
考えてみればNULLいれたところで配列なくならないんですよね・・・

いい方法がありましたらご助言ください。

よろしくお願いいたします。


[Previous Main Document]
リスト配列の初期化について (じゃみ) * 現在地 *
. . Re: リスト配列の初期化について (ブレゴ)
. . . . 【解決】リスト配列の初期化について (じゃみ)
. . 【補足】リスト配列の初期化について (じゃみ)
[Next Main Document]