Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


47926 / 76732 ←次へ | 前へ→

【33751】Re:「文字列''が終了していません。」というエラー
発言  ichinose  - 06/1/19(木) 21:26 -

引用なし
パスワード
   こんばんは。
>
>早速 試してみましたが、結果はかわりませんでした。
>相変わらず 文字列''が終了していません。というエラーです。
>データ40件はテーブルに追加され、41件目に空文字ばかりのデータをINSERTしようとしています。

テキストファイルは40件で41件目を読み込もうとしているならば、
このテキストファイルの読込み方の問題ですよね?


>>  Do While Loc(pFileNo) * 40 < lof(pFileNo)
>>'これで試してみて下さい  
上記コードの40はレコード長の意味ですが、よろしいですか?

私がmonさんが問題にしている
テキストファイルやユーザー定義型の構造を見ていないので
題材を提供しましょう!!

新規ブックの標準モジュールに

'=============================================
Public Type rec
  a1 As String * 6
  a2 As String * 4
  crlf(1 To 2) As Byte
  End Type
'=============================================
Sub mk_sample()
  Dim idx As Long
  Dim o_data As Variant
  Dim fno As Long
  fno = FreeFile()
  Open ThisWorkbook.Path & "\txtsamp.txt" For Output As #fno
  For idx = 1 To 5
    Print #fno, String(10, CStr(idx))
    Next idx
  Print #1, "12345"
  
  Close #fno
End Sub
'=============================================
Sub test()
  Dim dat1 As rec
  Open ThisWorkbook.Path & "\txtsamp.txt" For Random As #1 Len = 12
  Do While Loc(1) * 12 < LOF(1)
    dat1.a1 = "": dat1.a2 = ""
    Get #1, , dat1
    MsgBox dat1.a1 & "---" & dat1.a2
    Loop
  Close #1
End Sub


上記のコードをコピー後、一度、適当な名前で保存してください。

・最初にプロシジャーmk_sampleを実行してみて下さい。
 これでレコード長12バイトのデータが6件作成されます。
 (12バイトは、Crlfも入れて12バイトです)

・次にプロシジャーtestを実行してみて下さい。

データが6件正しく表示されますよね?

上記のコードとmonさんのテキストデータ及び、ユーザー定義型の構造
等を比べてみて下さい。
1 hits

【33658】「文字列''が終了していません。」というエラー mon 06/1/17(火) 19:12 質問
【33661】Re:「文字列''が終了していません。」とい... ichinose 06/1/17(火) 19:59 発言
【33665】Re:「文字列''が終了していません。」とい... mon 06/1/17(火) 20:11 お礼
【33668】Re:「文字列''が終了していません。」とい... ichinose 06/1/17(火) 20:46 発言
【33669】Re:「文字列''が終了していません。」とい... mon 06/1/17(火) 20:58 発言
【33674】Re:「文字列''が終了していません。」とい... ichinose 06/1/17(火) 21:48 発言
【33746】Re:「文字列''が終了していません。」とい... mon 06/1/19(木) 20:28 発言
【33751】Re:「文字列''が終了していません。」とい... ichinose 06/1/19(木) 21:26 発言
【33756】Re:「文字列''が終了していません。」とい... ichinose 06/1/19(木) 21:55 発言
【33844】Re:「文字列''が終了していません。」とい... mon 06/1/22(日) 14:02 お礼

47926 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free