掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
変数で保持しているExcelファイルを、ディスクに保存しないで直接操作するには? (ID:85432)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Excelファイルのバイナリデータを丸々変数に保持しています。 このデータをADOを使って操作したいのですが、一度ディスク上にxlsファイルとして保存し再度読み込んで操作しています。これを、ディスクに保存しないで直接編集したいのですが方法がわかりません。 プログラムにすると、下記Function Call XLS_SAVE("c:\a.xls",Excelファイルのバイナリデータ) Call XLS_OPEN("c:\a.xls") を Call XLS_OPEN(Excelファイルのバイナリデータ) で操作できるようにしたいのです。よろしくお願いします。 Function XLS_SAVE(sFileName As String, aryBinary As Variant) Const adLongVarBinary = 205 Const adTypeBinary = 1 Const adSaveCreateOverWrite = 2 Dim objStream As ADODB.Stream Dim objRecordset As ADODB.Recordset Set objRecordset = New ADODB.Recordset With objRecordset .Fields.Append "BinaryData",adLongVarBinary,LenB(aryBinary) .Open .AddNew End With objRecordset("BinaryData").AppendChunk aryBinary objRecordset.Update Set objStream = New ADODB.Stream objStream.Type = adTypeBinary objStream.Open objStream.Write objRecordset.Fields("BinaryData").Value objStream.SaveToFile sFileName, adSaveCreateOverWrite objStream.Close Set objStream = Nothing Set objRecordset = Nothing End Function Private Function XLS_OPEN(sFilePath As String) Set CN_XLS = New ADODB.Connection CN_XLS.Provider = "MSDASQL" CN_XLS.ConnectionString = "Driver={Microsoft Excel Driver (*.xls)};" & _ "DBQ=" & sFilePath & "; ReadOnly=True;" CN_XLS.Open Set RS_XLS = New ADODB.Recordset RS_XLS.Open "SELECT * FROM [Sheet1$]", CN_XLS, 0 End Function
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.