タイトル | : Re^2: MSCommの動作実態と多重On Error文に関して教えて下さい。 |
記事No | : 11795 |
投稿日 | : 2008/03/17(Mon) 10:20 |
投稿者 | : BamChan |
> Item(i)に適切ではない文字列が入っている可能性を調べてみるとか。 > # Printステートメントで取り扱うことのできない文字、という意味です。
<問題の部分の調査用変更> 下記の様に、暫定変更して、ランニング中です。 これで、現象を絞り込めると考えています。 Private OrgVal(256) As String : OrgVal(CrntNo) = "" '逐次、全項目をHex文字列にして退避しておく For i = TblFact(CrntNo).Size - 1 To 0 Step -1 If ch(i) = 0 Then OrgVal(CrntNo) = OrgVal(CrntNo) & "00" ElseIf ch(i) < 16 Then OrgVal(CrntNo) = OrgVal(CrntNo) & "0" & Hex(ch(i)) Else OrgVal(CrntNo) = OrgVal(CrntNo) & Hex(ch(i)) End If Next i OrgVal(CrntNo) = OrgVal(CrntNo) & "Z" '"Z" をマークにしておく : Item(CrntNo) に対し、本来の編集を行う。 '(この中に問題の部分がありそう?) : Private Sub Timer1_Timer() Dim i As Integer Rec = Date & "," & Time & "," Print #1, Rec; FOr i = 0 To Limit On Error GoTo ERR Print #1, Item(i); On Error GoTo 0 Print#1, ","; Next i Print #1, "" ' CR/LF を出力して、csvファイル1レコードとする Exit Sub ERR: Print #1, OrgVal(i); ' 本来の文字列の代わりに、Hex文字列を出力する。 Resume Next End Sub
これで、出力された.csv ファイルで、"Z"を検索すれば、どのItemにどの様な値が入力され どの様な文字編集を行った際に、Printできなくなるか、が特定されると思います。 これで、結論に近づけると思います。
色々、寄り道の多いやりとりになりましたが、私にとって意味深い寄り道でした。 本当に有難う御座いました。
|