2017-05-01 9 views
-1

にcsvファイルの文字列を置くの最速の方法は、こんにちは、私はVBA - スプレッドシート

request = CreateObject("WinHttp.WinHttpRequest.5.1")

を使用することにより、すなわち、私はVBA経由でExcelのスプレッドシートにHTTPリクエストから取得し、CSVの文字列を入れしようとしていました

そして、文字列オブジェクトにレスポンスを渡します。文字列を新しい行で分割し、各行をコンマで再分割するだけで、文字列をループさせるよりも良い方法があるのだろうかと思っていました。

+0

あなたは '.csv'拡張子を持つCSVを保存することができた場合は、VBAを使用してExcelで開くことができるはずです。 YMMV、私はMicrosoftのCSV解析が少し壊れていると聞いてきた。 –

+0

@ZevSpitzありがとうございます。それが文字列を直接解析するよりも速いか遅いかについての考えはありますか?私はディスクの読み書きが潜在的に遅いと思っていますか? –

+1

CSVの大きさ、独自のカスタムコードのデバッグに費やす時間、ExcelでCSVを解析するうえでどれくらい時間がかかるかによって異なります。私は他の何よりも前にこの方法を試してみて、それが十分に良いかどうかを見ていきます。多分5〜6行のコードでしょう。 –

答えて

0

は、以下のことを試してみてください。

Dim csv As String 
csv = "" 'get the CSV into this variable 

Dim fso As Object 
Set fso = CreateObject("Scripting.FileSystemObject") 

Const ForReading = 1, ForWriting = 2 
Dim txt As Object 
Set txt = fso.OpenTextFile("c:\output.csv", ForWriting, True) 
txt.Write csv 
txt.Close 
Set txt = Nothing 

Dim xlApp As New Excel.Application 'This may not be necessary if this code is running within an existing Excel application 
xlApp.Workbooks.OpenText "c:\output.csv" 

あなたはOpenTextのパラメータでビットをいじる必要があるかもしれません。


参考文献:

関連する問題