powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Импорт из HTML
5 сообщений из 30, страница 2 из 2
Импорт из HTML
    #39338472
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fora74,

переименовала в a.xls
открыла екселем с небольшой руганью, пересохранила как нормальный файл ексель
дальше не проблема
...
Рейтинг: 0 / 0
Импорт из HTML
    #39338482
Fora74_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКАFora74,

переименовала в a.xls
открыла екселем с небольшой руганью, пересохранила как нормальный файл ексель
дальше не проблема
Rusimport предлагал похожий вариант и он, в принципе, рабочий.
Но хочется все это завернуть в VBA.
Я пробовал в Экселе записать макрос, потом его скопировать в модуль Access, но пока не победил- опыта не хватает, хотя нутром чую- схема: Импорт в Эксель-сохранить во временный файл-импорт в Access -должна работать.
...
Рейтинг: 0 / 0
Импорт из HTML
    #39338501
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fora74_guest, лишь принцип...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
Sub ttt2()
Dim objHTTP As Object
Dim objStream As Object
Dim objHTMLDoc As MSHTML.HTMLDocument

Set objHTTP = CreateObject("MSXML2.XMLHTTP")
Set objHTMLDoc = New MSHTML.HTMLDocument

objHTTP.Open "GET", CurrentProject.Path & "\StrategyTester.htm", False
objHTTP.send
Set objStream = CreateObject("ADODB.Stream")
    With objStream
        .Open
        .Type = 1
        .write objHTTP.responseBody
        .position = 0
        .Type = 2
        .charset = "windows-1251"
        objHTMLDoc.body.innerHTML = .ReadText
        .Close
    End With
Dim hFile As Long
hFile = FreeFile
Open CurrentProject.Path & "\tmpFile.html" For Output As hFile
Print #hFile, objHTMLDoc.getElementsByTagName("TABLE").Item(1).outerHTML
Close hFile
CurrentDb.QueryDefs("q1").sql = "SELECT * from [table] in ''[HTML Import;DATABASE=" & CurrentProject.Path & "\tmpFile.html;HDR=yes]"
DoCmd.OpenQuery "q1"


Set objHTMLDoc = Nothing
    If Not objStream Is Nothing Then If objStream.State = 1 Then objStream.Close
Set objStream = Nothing
Set objHTTP = Nothing
End Sub

...
Рейтинг: 0 / 0
Импорт из HTML
    #39338604
Fora74_guest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Панург,
Спасибо, вечером попробую!
...
Рейтинг: 0 / 0
Импорт из HTML
    #39342069
Fora74
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем здравствуйте!
Еще раз спасибо всем откликнувшимся.
К сожалению, предложение Пануга не взлетело, но дало пищу для поисков...
Получился вариант, если кому интересно (функции чужие, спасибо авторам):

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
Public Function testW(noTable As Long)
Dim str As String
Dim p, e, k As Long
Dim sql As String
Dim strPath As String

strPath = CurrentProject.Path
str = File2StrB(strPath & "\StrategyTester.htm")
p = 0
For k = 1 To noTable
    p = p + 1
    p = InStr(p, str, "<table")
    e = InStr(p, str, "</table>")
Next k

str = Mid(str, p, e - p + 8)
Dim b As Boolean
b = SaveTextToFile(str, strPath & "\tmpFile.html", "utf-16")
sql = "SELECT * from [table] in ''[HTML Import;DATABASE=" & strPath & "\tmpFile.html;HDR=Yes]"
CurrentDb.QueryDefs("q1").sql = sql
DoCmd.OpenQuery "q1"
End Function

Public Function File2StrB(sPath As String) As String ' &#247;&#242;&#229;&#237;&#232;&#229; &#244;&#224;&#233;&#235;&#224; &#226; &#241;&#242;&#240;&#238;&#234;&#238;&#226;&#243;&#254; &#239;&#229;&#240;&#229;&#236;&#229;&#237;&#237;&#243;&#254;
Dim txt As String
Dim sLine As String
Dim fn As Long
fn = FreeFile
Dim TheBytes() As Byte
ReDim TheBytes(FileLen(sPath) - 1)
    Open sPath For Binary Access Read As fn
        Get #fn, , TheBytes()
    Close fn
File2StrB = StrConv(TheBytes(), vbUnicode)
End Function

Function SaveTextToFile(ByVal txt$, ByVal filename$, Optional ByVal encoding$ = "windows-1251") As Boolean
    ' функция сохраняет текст txt в кодировке Charset$ в файл filename$
    On Error Resume Next: Err.Clear
    Select Case encoding$
 
        Case "windows-1251", "", "ansi"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-16", "utf-16LE"
            Set FSO = CreateObject("scripting.filesystemobject")
            Set ts = FSO.CreateTextFile(filename, True, True)
            ts.Write txt: ts.Close
            Set ts = Nothing: Set FSO = Nothing
 
        Case "utf-8noBOM"
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = "utf-8": .Open
                .WriteText txt$
 
                Set binaryStream = CreateObject("ADODB.Stream")
                binaryStream.Type = 1: binaryStream.Mode = 3: binaryStream.Open
                .Position = 3: .CopyTo binaryStream        'Skip BOM bytes
                .flush: .Close
                binaryStream.SaveToFile filename$, 2
                binaryStream.Close
            End With
 
        Case Else
            With CreateObject("ADODB.Stream")
                .Type = 2: .Charset = encoding$: .Open
                .WriteText txt$
                .SaveToFile filename$, 2        ' сохраняем файл в заданной кодировке
                .Close
            End With
    End Select
    SaveTextToFile = Err = 0: DoEvents
End Function


...
Рейтинг: 0 / 0
5 сообщений из 30, страница 2 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Импорт из HTML
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]