Здравствуйте есть макрос который загружает сохраненый 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
Здравствуйте есть макрос который загружает сохраненый 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:30niru1980
Сообщение отредактировал niru1980 - Понедельник, 26.05.2014, 11:58
изменив 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 файл
изменив 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
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]
Не вижу дат. Кроме как где даты... [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
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
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
Задача с загрузкой чисел решена в параметрах эксел установлен разделитель целой и дробной части (точка вместо запятой) после этого все грузится нормально.
теперь нужно чтоб отсутствовали ссылки в загруженом файле .WebFormatting = xlWebFormattingall как заменить даную строку чтоб гиперсылки не загружались
Задача с загрузкой чисел решена в параметрах эксел установлен разделитель целой и дробной части (точка вместо запятой) после этого все грузится нормально.
теперь нужно чтоб отсутствовали ссылки в загруженом файле .WebFormatting = xlWebFormattingall как заменить даную строку чтоб гиперсылки не загружалисьniru1980
Да, у меня десятичный разделитель точка. И действительно при xlWebFormattingNone некоторые числа иногда преобразуются в даты. Если выгружать в предварительно форматированный лист - то не преобразовываются. А ссылки можно убить макросом после загрузки, или грузить с xlWebFormattingNone в предварительно форматированный лист.
Да, у меня десятичный разделитель точка. И действительно при xlWebFormattingNone некоторые числа иногда преобразуются в даты. Если выгружать в предварительно форматированный лист - то не преобразовываются. А ссылки можно убить макросом после загрузки, или грузить с xlWebFormattingNone в предварительно форматированный лист.Hugo