0

Excel が持つ MSN データ接続を設定しようとしています。別のシートからシンボルのリストをコピーし、それをデータ フィードで使用して、コンマで区切って入力し、最新の価格を取得したいと考えています。

これはデータ フィード マクロですが、記号の入力方法がわかりません。

 With ActiveSheet.QueryTables.Add(Connection:= _
    "FINDER;C:\Program Files\Microsoft Office\Office14\QUERIES\MSN MoneyCentral   Investor Stock Quotes.iqy" _
    , Destination:=Range("$A$1"))
    .Name = "MSN MoneyCentral Investor Stock Quotes"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = False
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .AdjustColumnWidth = True
    .RefreshPeriod = 1
    .WebSelectionType = xlEntirePage
    .WebFormatting = xlWebFormattingAll
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = True
    .Refresh BackgroundQuery:=False
End With
End Sub
4

1 に答える 1

1

Sheet1 からこれを実行し、銘柄記号の範囲が Sheet2 にある場合、質問で参照するファイルは、

"C:\Program Files\Microsoft Office\Office14\QUERIES\MSN MoneyCentral Investor Stock Quotes.iqy"

開いた場合は、とにかくこの基になる URL を参照するため、参照をローカルでスキップしてこれを使用するだけで、さまざまなバージョンでも機能するはずです。

Sub getQuotes()
Dim quotStr
For Each cell In Sheets("Sheet2").Range("A1:A5") 'whatever range you want
quotStr = cell + ", " + quotStr
Next
quotStr = Left(quotStr, (Len(quotStr) - 2))

    With ActiveSheet.QueryTables.Add(Connection:= _
        "URL;http://moneycentral.msn.com/investor/external/excel/quotes.asp?SYMBOL=" & quotStr _
        , Destination:=Range("$A$1"))
        .Name = "MSN MoneyCentral Investor Stock Quotes"

- -等

于 2012-07-17T18:55:08.083 に答える