1

LotusScript を使用して、値をクリーンアップし、フォームから csv ファイルにエクスポートしています。フォームには、enddate_1、enddate_2、enddate_3 などの名前を持つ複数の日付フィールドがあります。これらの日付フィールドはData Type: Text空の場合ですが、入力されてData Type: Time/Dateいる場合です。

エラーなしでcsvの文字列として値を取得するために、次のことを行いました(機能):

If Isdate(doc.enddate_1) Then 
    enddate_1 = Format(doc.enddate_1,"dd-mm-yyyy") 
Else
    enddate_1 = doc.enddate_1(0)
End If

しかし、日付フィールドごとにそのようなコード ブロックを実行するのは適切ではありませんでした。

以下を試しましたが、うまくいきません。

For i% = 1 To 9
    If Isdate(doc.enddate_i%) Then 
        enddate_i% = Format(doc.enddate_i%,"dd-mm-yyyy") 
    Else
        enddate_i% = doc.enddate_i%(0)
    End If
Next

forループなどで番号付きフィールドを反復する方法について何か提案はありますか?

4

2 に答える 2

0

Dmytro のソリューションと、Richard Schwartz の明確化と私のコード ブロックを組み合わせて、実用的なソリューションにします。Dmytro のソリューションの編集として試してみましたが、拒否されました。

私の問題は、番号付きフィールドを反復するだけでなく、後で簡単に取得できるように値を反復的に保存することでもありました。これは、Richard Schwartz の説明と組み合わせて Dmytro のソリューションを実装しようとしていることがわかりました。リストを使用して完全に解決しました。

現在、私にとって有効な解決策は次のとおりです。

Dim enddate$ List
For i% = 1 To 9
    itemName$ = "enddate_" + CStr(i%)
    If Isdate(doc.GetItemValue(itemName$)) Then 
        enddate$(i%) = Format(doc.GetItemValue(itemName$),"dd-mm-yyyy") 
    Else
        enddate$(i%) = doc.GetItemValue(itemName$)(0)
    End If
Next
于 2013-09-27T14:10:56.787 に答える