Vlookup в Access вытянуть данные Excel-я

Программирование на Visual Basic for Applications
IgorOk
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 29.01.2003 (Ср) 12:21

Vlookup в Access вытянуть данные Excel-я

Сообщение IgorOk » 08.01.2004 (Чт) 18:01

Уважаемые,

Скажите что делаю не так.
Есть таблица курсов в Excel-е. Лист USD содержит Web-query на сайт ЦБ, соответственно на лист тянуться Дата, Кол-во единиц валюты, Курс.

Пытаюсь вытащить курс на определенную дату в Access следующим кодом.
Код: Выделить всё
Sub GetRatesFromFile()
Dim a As Date
Set objXL = GetObject("D:\Documents\CBRF rates.xls")
DateSeparator = GetLocaleInfo(LOCALE_SDATE) 'системный разделитель даты
a = Format(Now, "DD" & DateSeparator & "MM" & DateSeparator & "YYYY")
USDrate = F("USD", a) 'запускается функция поиска курса
objXL.Close
Set objXL = Nothing
End Sub

Function F(Curr As String, aDate) 'сделана в связи с тем, что валют много
DecimalSeparator = GetLocaleInfo(LOCALE_SDECIMAL) 'системный разделитель дробной части числа
objXL.Sheets(Curr).Select

LastRow = objXL.Application.WorksheetFunction.CountA(objXL.ActiveSheet.Range("A:A"))
F = objXL.Application.WorksheetFunction.VLookup(aDate, objXL.ActiveSheet.Range("A1:C" & LastRow), 3, True)
' в этом месте дает ошибку:
Run-time error '1004': Unable to get VLookup property of the WorksheetFunction class

End Function




Заранее спасибо.[/img]

IgorOk
Обычный пользователь
Обычный пользователь
 
Сообщения: 54
Зарегистрирован: 29.01.2003 (Ср) 12:21

Может кому-то поможет

Сообщение IgorOk » 20.01.2004 (Вт) 10:02

Вытаскивание курса ЦБ с сайта ЦБ РФ из под Access-а:

Код: Выделить всё
Public Sub testXML()
    Dim xml As New MSXML2.DOMDocument
    Dim objNode As IXMLDOMNode
    Dim strDate As String
   
    strDate = Format(Now, "dd\/mm\/yyyy")
    With xml
        .async = False
        .Load "http://www.cbr.ru/scripts/XML_dynamic.asp?" & _
            "date_req1=" & strDate & _
            "&date_req2=" & strDate & _
            "&VAL_NM_RQ=" & "R01235" 'R01235 - Доллар США
        Set objNode = .selectNodes("//Value").Item(0)
        If Not objNode Is Nothing Then
            MsgBox objNode.Text
        End If
    End With
End Sub



Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 51

    TopList