Excel VBA質問箱 IV

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

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


22617 / 76732 ←次へ | 前へ→

【59493】Re:EUC→Unicodeのコード変換
質問  おさっち  - 08/12/13(土) 12:04 -

引用なし
パスワード
   ▼neptune さん:
どうもありがとうございます。

以下のようにプログラムを変更してみました。

-------------------------------------------------------

Public Sub For_Question2()

Dim cnDatabase As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim in_strm As ADODB.Stream
Dim out_strm As ADODB.Stream
Dim m_Field As ADODB.Field

Dim i As Long, j As Long

Dim Sql As String
Dim cnt As String

Dim m_string As String, m_byte1() As Byte, m_byte2() As Byte

 
cnt = "Driver=SQLite3 ODBC Driver; Database=C:\excel_sqlite3_test\test.db"
Set cnDatabase = New ADODB.Connection

cnDatabase.Open cnt

Worksheets("methodtbl").Select
Cells.Select
Selection.Clear
Cells(1, 1).Select

Sql = "SELECT * FROM methodtbl"

rs.Open Sql, cnDatabase, adOpenForwardOnly

'フィールド名表示
j = 1
For Each m_Field In rs.Fields

    Cells(1, j).Value = m_Field.Name
    
    j = j + 1
Next m_Field


'データ表示
i = 2

Do Until rs.EOF
 
  j = 1

  For Each m_Field In rs.Fields

    Cells(i, j).Select
    'Cells(i, j).Value = "'" & m_Field.Value
   
    Set in_strm = New ADODB.Stream
    Set out_strm = New ADODB.Stream
   
    in_strm.Open
    out_strm.Open
   
    in_strm.Charset = "EUC-JP"
    in_strm.Type = adTypeBinary
    out_strm.Charset = "SJIS"
    out_strm.Type = adTypeBinary
       
    m_byte1() = m_Field.Value
    in_strm.Write m_byte1
    in_strm.CopyTo out_strm
    out_strm.Read m_byte2
   
    in_strm.Close
    out_strm.Close
   
    Set in_strm = Nothing
    Set out_strm = Nothing
   
    Cells(i, j).Value = CStr(m_byte2)
      
    j = j + 1

  Next m_Field
 
  i = i + 1
 
  rs.MoveNext
Loop
  
  
rs.Close
Set rs = Nothing


End Sub

-------------------------------------------------------


そうすると、
>out_strm.Read m_byte2
のところで実行時にエラーがでます。

-------------------------------------------------------

実行時エラー'3001':

引数が間違った型、許容範囲外、または競合しています。

-------------------------------------------------------

googleでいろいろ検索してみたのですが、原因がわかりません。
どこが間違っているのでしょうか?


どうぞよろしくお願いいたします。

0 hits

【59487】EUC→Unicodeのコード変換 おさっち 08/12/13(土) 1:40 質問
【59488】Re:EUC→Unicodeのコード変換 おさっち 08/12/13(土) 8:45 発言
【59489】Re:EUC→Unicodeのコード変換 neptune 08/12/13(土) 9:49 発言
【59493】Re:EUC→Unicodeのコード変換 おさっち 08/12/13(土) 12:04 質問
【59494】Re:EUC→Unicodeのコード変換 おさっち 08/12/13(土) 17:30 発言
【59496】Re:EUC→Unicodeのコード変換 neptune 08/12/13(土) 20:18 発言
【59498】Re:EUC→Unicodeのコード変換 おさっち 08/12/13(土) 20:39 発言
【59500】Re:EUC→Unicodeのコード変換 neptune 08/12/13(土) 21:17 発言
【59501】Re:EUC→Unicodeのコード変換 neptune 08/12/13(土) 21:44 発言
【59503】Re:EUC→Unicodeのコード変換 kazuyoshikakihara 08/12/14(日) 10:34 回答
【59505】Re:EUC→Unicodeのコード変換 おさっち 08/12/14(日) 16:27 お礼

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