Here's what I've been using in my scripts:
to getYData(symb, qProp) -- get Yahoo! data
set baseURL to "http://download.finance.yahoo.com/d/quotes.csv?"
set symbStr to "s=" & symb
set propStr to "&f=" & qProp
do shell script "curl -s " & "'" & baseURL & symbStr & propStr & "'"
end getYData
However, you can do it directly in VBA on the Mac without WinHttp.WinHttpRequest with something like this:
' Request the data from Yahoo! and put the returned CSV in rows in dDest's column
With ActiveSheet.QueryTables.Add(Connection:="URL;" & Y_API_URL, Destination:=dDest)
.Refresh BackgroundQuery:=False
.RefreshStyle = xlOverwriteCells
.SaveData = True
EndWith
Where Y_API_URL is the assembled base url followed by symbols and the properties you want, and dDest is defined with something like this:
Dim dDest As Range: Set dDest = Range("C3")
Then you can split the csv with something like this:
' Split the CSV text into columns -- similar to the 'Text to Columns' wizard in the Excel Ribbon
Dim CsvCol As Range: Set CsvCol = Range(dDest.Offset(0, 0), dDest.Offset(0, 0).End(xlDown))
CsvCol.TextToColumns Destination:=dDest, DataType:=xlDelimited, comma:=True
The works well in Excel 2011, Excel 2016 (the public beta) and in various Excel 2013 for Windows, and probably earlier versions. So you shouldn't need to use the MacScript function.
SG