Excel ActiveSheet.QueryTables.Add и символы, отличные от ASCII

Я использую следующий код для получения страницы для "куспида" с www.merriam-webstercom. Он работал нормально, за исключением того, что фонетические символы не отображались должным образом. У меня есть такие вещи: \ ˈkÉ ™ -ËŒspÄt, -spÉ ™ t. При попытке вставить фонетические символы на эту страницу я получил точно такие же каракули.

Я искал в Интернете, но не получил никаких полезных сведений.

Есть предположения? Спасибо.

Sub import_from_web(ByVal lookup_word As String)

With ActiveSheet.QueryTables.Add(Connection:= _
    "URL;https://www.merriam-webster.com/dictionary/" & lookup_word,   Destination:= _
    Range("$A$1"))
    .Name = "d"
    .FieldNames = True
    .RowNumbers = False
    .FillAdjacentFormulas = False
    .PreserveFormatting = True
    .RefreshOnFileOpen = False
    .BackgroundQuery = True
    .RefreshStyle = xlInsertDeleteCells
    .SavePassword = False
    .SaveData = True
    .TextFilePlatform = xlMSDOS
    .AdjustColumnWidth = True
    .RefreshPeriod = 0
    .WebSelectionType = xlEntirePage
    .WebFormatting = xlWebFormattingNone
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = False
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With
End Sub
Этот может пригодиться
cybernetic.nomad 26.10.2018 23:21

Спасибо. Я действительно пробовал «ТЕКСТ» вместо «URL», но он получил HTML-документ (полный HTML-тегов). Мне просто нужен простой текстовый файл.

joehua 26.10.2018 23:28

Я думал о проблеме с кодировкой. Что произойдет, если вы попытаетесь установить TextFilePlatform на 65000 или 65001?

cybernetic.nomad 26.10.2018 23:32

@ cybemetic.nomad Спасибо за комментарий. На самом деле эту строку следует закомментировать, потому что я считаю, что она работает только с ТЕКСТОМ, а не с URL. Должно быть, это пережиток более раннего судебного разбирательства. С этой строкой код не может быть скомпилирован.

joehua 27.10.2018 01:12

65001 фактически сохраняет фонетические символы. В любом случае удалить HTML-теги и оставить только простой текст? Возможно, это мой единственный вариант.

joehua 27.10.2018 08:53
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
5
690
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В итоге я использовал совершенно другой подход. Вместо того, чтобы создавать ссылку, я просто открыл страницу, скопировал и вставил ее в Excel.

Спасибо этой теме:

Excel2010: Ошибка PasteSpecial при копировании из IE

Sub search_paste(ByRef IE As Object, ByVal lookup_word As String)

' this sub can handle non-ASCII characters
' it accepts a word from the calling sub and searches the word at Merian-Webster
' it then copies the web page and pastes to the ActiveSheet for further processing

With IE
    .Visible = True
'        .Navigate 
    .Navigate "https://www.merriam-webster.com/dictionary/" & lookup_word ' open the page containing the search word

    Do Until .ReadyState = 4: DoEvents: Loop
End With
DoEvents
IE.ExecWB 17, 0 '// SelectAll
IE.ExecWB 12, 2 '// Copy selection
ActiveSheet.PasteSpecial link:=False, DisplayAsIcon:=False, NoHTMLFormatting:=True

End Sub

Другие вопросы по теме