Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Загрузка из HTML в exel - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Загрузка из HTML в exel (Макросы/Sub)
Загрузка из HTML в exel
niru1980 Дата: Понедельник, 26.05.2014, 10:44 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте
есть макрос который загружает сохраненый html файл в exel
но почемуто он работает не коректно

загружает одну таблицу №5
1 нужно загрузить таблицы от 5 и выше за исключением последних 3
количество таблиц в файле html всегда разное
2 загрузить в формате цифр в столбцах(1,Х,2,12,1Х,Х2,Т.М.,ТМ,ТБ) а не даты

[vba]
Код
Sub SelectHtml()
      Dim fd As FileDialog
      Set fd = Application.FileDialog(msoFileDialogFilePicker)
      With fd
      .AllowMultiSelect = False
      .Filters.Add "HTML files", "*.html", 1
          If .Show = -1 Then

'###############################################
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;file:///" & fd.SelectedItems(1), Destination:=Range("$A$1"))
.Name = "1111"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "5"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
'###############################################
          End If
      End With
      Set fd = Nothing
End Sub
[/vba]

результат загрузки

Дома На выезде 1 X 2 12 1X X2 Ф1 Ф2 Т.М. ТМ ТБ Сч.1 Сч.2 Сч.3 Сч.4 Дата матча
Футбол. Товарищеские матчи. Сборные (до 21 года). Турнир в Тулоне. Матчи 80 мин.
Колумбия (20) Юж. Корея (мол) 02.фев мар.33 мар.73 янв.33 янв.28 янв.82 0.0=>1.48 0.0=>2.72 02.май янв.81 02.мар - - - - 26.05.2014 19:15
Англия (мол) Бразилия (мол) мар.56 мар.23 02.дек янв.35 янв.74 янв.30 0.0=>2.47 0.0=>1.56 02.май янв.86 янв.96 - - - - 26.05.2014 21:30


Сообщение отредактировал niru1980 - Понедельник, 26.05.2014, 11:58
 
Ответить
СообщениеЗдравствуйте
есть макрос который загружает сохраненый html файл в exel
но почемуто он работает не коректно

загружает одну таблицу №5
1 нужно загрузить таблицы от 5 и выше за исключением последних 3
количество таблиц в файле html всегда разное
2 загрузить в формате цифр в столбцах(1,Х,2,12,1Х,Х2,Т.М.,ТМ,ТБ) а не даты

[vba]
Код
Sub SelectHtml()
      Dim fd As FileDialog
      Set fd = Application.FileDialog(msoFileDialogFilePicker)
      With fd
      .AllowMultiSelect = False
      .Filters.Add "HTML files", "*.html", 1
          If .Show = -1 Then

'###############################################
With ActiveSheet.QueryTables.Add(Connection:= _
"URL;file:///" & fd.SelectedItems(1), Destination:=Range("$A$1"))
.Name = "1111"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "5"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
'###############################################
          End If
      End With
      Set fd = Nothing
End Sub
[/vba]

результат загрузки

Дома На выезде 1 X 2 12 1X X2 Ф1 Ф2 Т.М. ТМ ТБ Сч.1 Сч.2 Сч.3 Сч.4 Дата матча
Футбол. Товарищеские матчи. Сборные (до 21 года). Турнир в Тулоне. Матчи 80 мин.
Колумбия (20) Юж. Корея (мол) 02.фев мар.33 мар.73 янв.33 янв.28 янв.82 0.0=>1.48 0.0=>2.72 02.май янв.81 02.мар - - - - 26.05.2014 19:15
Англия (мол) Бразилия (мол) мар.56 мар.23 02.дек янв.35 янв.74 янв.30 0.0=>2.47 0.0=>1.56 02.май янв.86 янв.96 - - - - 26.05.2014 21:30

Автор - niru1980
Дата добавления - 26.05.2014 в 10:44
niru1980 Дата: Понедельник, 26.05.2014, 11:00 | Сообщение № 2
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
результатом загрузки должно буть 103 строки вместо 4
подскажите пожалуйста как это реализовать
 
Ответить
Сообщениерезультатом загрузки должно буть 103 строки вместо 4
подскажите пожалуйста как это реализовать

Автор - niru1980
Дата добавления - 26.05.2014 в 11:00
Hugo Дата: Понедельник, 26.05.2014, 11:42 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Думаю без примеров файлов (почитайте правила) толку не будет.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДумаю без примеров файлов (почитайте правила) толку не будет.

Автор - Hugo
Дата добавления - 26.05.2014 в 11:42
niru1980 Дата: Понедельник, 26.05.2014, 12:01 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Hugo, прикладываю файл который загружаю


Сообщение отредактировал niru1980 - Понедельник, 26.05.2014, 12:02
 
Ответить
СообщениеHugo, прикладываю файл который загружаю

Автор - niru1980
Дата добавления - 26.05.2014 в 12:01
niru1980 Дата: Понедельник, 26.05.2014, 12:10 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
страница
К сообщению приложен файл: 1111.rar (10.8 Kb)
 
Ответить
Сообщениестраница

Автор - niru1980
Дата добавления - 26.05.2014 в 12:10
niru1980 Дата: Вторник, 27.05.2014, 09:46 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
изменив htm файл удалось решить проблему с загрузкой строк таблицы
все строки загружаются
проблема с форматом строк вместо цифр стоит дата
помогите пожалуйста решить даную проблему

результат загрузки

Дома На выезде 1 X 2 12 1X X2 Ф1 Ф2 Т.М. ТМ ТБ Сч.1 Сч.2 Сч.3 Сч.4 Дата матча
Футбол. Товарищеские матчи. Сборные (до 21 года). Турнир в Тулоне. Матчи 80 мин.
Колумбия (20) Юж. Корея (мол) 02.фев мар.33 мар.73 янв.33 янв.28 янв.82 0.0=>1.48 0.0=>2.72 02.май янв.81 02.мар - - - - 26.05.2014 19:15
Англия (мол) Бразилия (мол) мар.56 мар.23 02.дек янв.35 янв.74 янв.30 0.0=>2.47 0.0=>1.56 02.май янв.86 янв.96 - - - - 26.05.2014 21:30

в приложении htm файл
К сообщению приложен файл: 8964623.rar (8.5 Kb)
 
Ответить
Сообщениеизменив htm файл удалось решить проблему с загрузкой строк таблицы
все строки загружаются
проблема с форматом строк вместо цифр стоит дата
помогите пожалуйста решить даную проблему

результат загрузки

Дома На выезде 1 X 2 12 1X X2 Ф1 Ф2 Т.М. ТМ ТБ Сч.1 Сч.2 Сч.3 Сч.4 Дата матча
Футбол. Товарищеские матчи. Сборные (до 21 года). Турнир в Тулоне. Матчи 80 мин.
Колумбия (20) Юж. Корея (мол) 02.фев мар.33 мар.73 янв.33 янв.28 янв.82 0.0=>1.48 0.0=>2.72 02.май янв.81 02.мар - - - - 26.05.2014 19:15
Англия (мол) Бразилия (мол) мар.56 мар.23 02.дек янв.35 янв.74 янв.30 0.0=>2.47 0.0=>1.56 02.май янв.86 янв.96 - - - - 26.05.2014 21:30

в приложении htm файл

Автор - niru1980
Дата добавления - 27.05.2014 в 09:46
Hugo Дата: Вторник, 27.05.2014, 10:41 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Не вижу дат. Кроме как где даты...
[vba]
Код
Option Explicit

Sub SelectHtml()
     Dim fd As FileDialog
     Set fd = Application.FileDialog(msoFileDialogFilePicker)
     With fd
         .AllowMultiSelect = False
         .Filters.Add "HTML files", "*.htm*", 1
         If .Show = -1 Then

             '###############################################
             With ActiveSheet.QueryTables.Add(Connection:= _
                    "URL;file:///" & fd.SelectedItems(1), Destination:=Range("$A$1"))
                 .Name = "1111"
                 .WebSelectionType = xlAllTables
                 .WebFormatting = xlWebFormattingNone
                 .WebPreFormattedTextToColumns = True
                 .WebConsecutiveDelimitersAsOne = True
                 .WebSingleBlockTextImport = False
                 .WebDisableDateRecognition = False
                 .WebDisableRedirections = False
                 .Refresh BackgroundQuery:=False
             End With
             '###############################################
         End If
     End With
     Set fd = Nothing
End Sub

[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНе вижу дат. Кроме как где даты...
[vba]
Код
Option Explicit

Sub SelectHtml()
     Dim fd As FileDialog
     Set fd = Application.FileDialog(msoFileDialogFilePicker)
     With fd
         .AllowMultiSelect = False
         .Filters.Add "HTML files", "*.htm*", 1
         If .Show = -1 Then

             '###############################################
             With ActiveSheet.QueryTables.Add(Connection:= _
                    "URL;file:///" & fd.SelectedItems(1), Destination:=Range("$A$1"))
                 .Name = "1111"
                 .WebSelectionType = xlAllTables
                 .WebFormatting = xlWebFormattingNone
                 .WebPreFormattedTextToColumns = True
                 .WebConsecutiveDelimitersAsOne = True
                 .WebSingleBlockTextImport = False
                 .WebDisableDateRecognition = False
                 .WebDisableRedirections = False
                 .Refresh BackgroundQuery:=False
             End With
             '###############################################
         End If
     End With
     Set fd = Nothing
End Sub

[/vba]

Автор - Hugo
Дата добавления - 27.05.2014 в 10:41
niru1980 Дата: Вторник, 27.05.2014, 11:07 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Не вижу дат. Кроме как где даты...

дата в результате загрузки вместо цифр
 
Ответить
Сообщение
Не вижу дат. Кроме как где даты...

дата в результате загрузки вместо цифр

Автор - niru1980
Дата добавления - 27.05.2014 в 11:07
niru1980 Дата: Вторник, 27.05.2014, 14:06 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
люди товарищи подскажите как добиться чтоб в результате загрузки были цифры pray
 
Ответить
Сообщениелюди товарищи подскажите как добиться чтоб в результате загрузки были цифры pray

Автор - niru1980
Дата добавления - 27.05.2014 в 14:06
Hugo Дата: Вторник, 27.05.2014, 14:40 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Попробовать выполнить код.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеПопробовать выполнить код.

Автор - Hugo
Дата добавления - 27.05.2014 в 14:40
niru1980 Дата: Вторник, 27.05.2014, 14:46 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Попробовать выполнить код.

я выложил результат выполнения вашего кода
[vba]
Код
Option Explicit
Sub SelectHtml()
     Dim fd As FileDialog
     Set fd = Application.FileDialog(msoFileDialogFilePicker)
     With fd
         .AllowMultiSelect = False
         .Filters.Add "HTML files", "*.htm*", 1
         If .Show = -1 Then
             '###############################################
             With ActiveSheet.QueryTables.Add(Connection:= _
                     "URL;file:///" & fd.SelectedItems(1), Destination:=Range("$A$1"))
                 .Name = "1111"
                 .WebSelectionType = xlAllTables
                 .WebFormatting = xlWebFormattingNone
                 .WebPreFormattedTextToColumns = True
                 .WebConsecutiveDelimitersAsOne = True
                 .WebSingleBlockTextImport = False
                 .WebDisableDateRecognition = False
                 .WebDisableRedirections = False
                 .Refresh BackgroundQuery:=False
             End With
             '###############################################
         End If
     End With
     Set fd = Nothing
End Sub
[/vba]
офис 2007
 
Ответить
Сообщение
Попробовать выполнить код.

я выложил результат выполнения вашего кода
[vba]
Код
Option Explicit
Sub SelectHtml()
     Dim fd As FileDialog
     Set fd = Application.FileDialog(msoFileDialogFilePicker)
     With fd
         .AllowMultiSelect = False
         .Filters.Add "HTML files", "*.htm*", 1
         If .Show = -1 Then
             '###############################################
             With ActiveSheet.QueryTables.Add(Connection:= _
                     "URL;file:///" & fd.SelectedItems(1), Destination:=Range("$A$1"))
                 .Name = "1111"
                 .WebSelectionType = xlAllTables
                 .WebFormatting = xlWebFormattingNone
                 .WebPreFormattedTextToColumns = True
                 .WebConsecutiveDelimitersAsOne = True
                 .WebSingleBlockTextImport = False
                 .WebDisableDateRecognition = False
                 .WebDisableRedirections = False
                 .Refresh BackgroundQuery:=False
             End With
             '###############################################
         End If
     End With
     Set fd = Nothing
End Sub
[/vba]
офис 2007

Автор - niru1980
Дата добавления - 27.05.2014 в 14:46
Hugo Дата: Вторник, 27.05.2014, 16:03 | Сообщение № 12
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Куда выложили?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеКуда выложили?

Автор - Hugo
Дата добавления - 27.05.2014 в 16:03
niru1980 Дата: Вторник, 27.05.2014, 16:17 | Сообщение № 13
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Куда выложили?


результат загрузки

Дома На выезде 1 X 2 12 1X X2 Ф1 Ф2 Т.М. ТМ ТБ Сч.1 Сч.2 Сч.3 Сч.4 Дата матча
Футбол. Товарищеские матчи. Сборные (до 21 года). Турнир в Тулоне. Матчи 80 мин.
Колумбия (20) Юж. Корея (мол) 02.фев мар.33 мар.73 янв.33 янв.28 янв.82 0.0=>1.48 0.0=>2.72 02.май янв.81 02.мар - - - - 26.05.2014 19:15
Англия (мол) Бразилия (мол) мар.56 мар.23 02.дек янв.35 янв.74 янв.30 0.0=>2.47 0.0=>1.56 02.май янв.86 янв.96 - - - - 26.05.2014 21:30

файл эксел с макросом в приложении
К сообщению приложен файл: 3101541.rar (24.5 Kb)
 
Ответить
Сообщение
Куда выложили?


результат загрузки

Дома На выезде 1 X 2 12 1X X2 Ф1 Ф2 Т.М. ТМ ТБ Сч.1 Сч.2 Сч.3 Сч.4 Дата матча
Футбол. Товарищеские матчи. Сборные (до 21 года). Турнир в Тулоне. Матчи 80 мин.
Колумбия (20) Юж. Корея (мол) 02.фев мар.33 мар.73 янв.33 янв.28 янв.82 0.0=>1.48 0.0=>2.72 02.май янв.81 02.мар - - - - 26.05.2014 19:15
Англия (мол) Бразилия (мол) мар.56 мар.23 02.дек янв.35 янв.74 янв.30 0.0=>2.47 0.0=>1.56 02.май янв.86 янв.96 - - - - 26.05.2014 21:30

файл эксел с макросом в приложении

Автор - niru1980
Дата добавления - 27.05.2014 в 16:17
niru1980 Дата: Вторник, 27.05.2014, 16:58 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 38
Репутация: 1 ±
Замечаний: 0% ±

Excel 2010
Задача с загрузкой чисел решена
в параметрах эксел установлен разделитель целой и дробной части (точка вместо запятой) после этого все грузится нормально.

теперь нужно чтоб отсутствовали ссылки в загруженом файле
.WebFormatting = xlWebFormattingall
как заменить даную строку чтоб гиперсылки не загружались
 
Ответить
СообщениеЗадача с загрузкой чисел решена
в параметрах эксел установлен разделитель целой и дробной части (точка вместо запятой) после этого все грузится нормально.

теперь нужно чтоб отсутствовали ссылки в загруженом файле
.WebFormatting = xlWebFormattingall
как заменить даную строку чтоб гиперсылки не загружались

Автор - niru1980
Дата добавления - 27.05.2014 в 16:58
Hugo Дата: Вторник, 27.05.2014, 17:50 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3254
Репутация: 707 ±
Замечаний: 0% ±

2019
Да, у меня десятичный разделитель точка.
И действительно при xlWebFormattingNone некоторые числа иногда преобразуются в даты. Если выгружать в предварительно форматированный лист - то не преобразовываются.
А ссылки можно убить макросом после загрузки, или грузить с xlWebFormattingNone в предварительно форматированный лист.


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеДа, у меня десятичный разделитель точка.
И действительно при xlWebFormattingNone некоторые числа иногда преобразуются в даты. Если выгружать в предварительно форматированный лист - то не преобразовываются.
А ссылки можно убить макросом после загрузки, или грузить с xlWebFormattingNone в предварительно форматированный лист.

Автор - Hugo
Дата добавления - 27.05.2014 в 17:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Загрузка из HTML в exel (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!