Excel 2002 Web Query искажает даты в формате en-GB

Добрый день,

У меня есть веб-запрос в Excel 2002, идущий к веб-странице, которая возвращает столбец даты. Даты возвращаются как DD/MM/YYYY, так как я хотел бы показать их в своей электронной таблице. На моей машине, на которой работает Excel, региональные настройки установлены на en-GB, а в разделе «Свойства обозревателя» установлен единственный язык — британский английский.

Тем не менее, веб-запрос извлекает даты как MM/DD/YYYY, что неправильно интерпретируется Excel.

Как я могу заставить веб-запрос возвращать даты в моих региональных настройках, MM/DD/YYYY?


person AlanR    schedule 19.11.2008    source источник


Ответы (6)


Можете ли вы изменить «веб-запрос»?

Универсальный формат даты — это лучший способ для продуктов Office распознавать дату/время. У меня были аналогичные проблемы при работе с датами из Великобритании в США, и я обнаружил, что кодирование ваших дат в этом формате избавляет вас от многих проблем.

Universal Date format is : "yyyy-mm-dd hh:mm:ss"
person Mark Nold    schedule 21.11.2008

Возможно, вам повезло, и Excel понимает либо атрибут HTML lang, либо метатег <meta http-equiv="content-language" content="...">. Честно говоря, я думаю, что это не имеет значения.

Если у вас есть контроль над веб-сайтом, вы можете попробовать добавить их и посмотреть, будет ли это иметь значение. OTOH – если бы вы имели контроль над веб-страницей, вы могли бы изменить формат даты.

Альтернативой может быть полное отключение распознавания даты и последующая обработка вручную после запроса. Для этого заново создайте веб-запрос и в диалоговом окне «Новый веб-запрос» нажмите кнопку «Параметры...» в правом верхнем углу. Есть галочка "Отключить распознавание даты".

person Tomalak    schedule 19.11.2008

Веб-запрос Excel ужасен с точки зрения международных вещей. У меня это тоже не сработало. Что мне, наконец, пришлось сделать, так это просто загрузить данные вручную с помощью макроса, проанализировать их по локали и поместить на лист. К счастью, я запросил веб-службу, которая вернула XML, так что это было легко. Если вы анализируете HTML, сделайте то, что Томалак предложил.

person GSerg    schedule 26.11.2008

В Excel 2007 изменение формата даты в региональных настройках работало нормально.

person iftee    schedule 24.11.2010

Формат веб-страницы — en-GB. Я изменил свои региональные настройки в панели управления на en-GB. Я изменил язык параметров Интернета на en-GB.

Тем не менее веб-запрос Excel возвращает данные в формате en-US. Я не вижу, как что-либо из того, что вы предложили, могло бы помочь. В этом случае постобработка невозможна.

person AlanR    schedule 19.11.2008
comment
Параметры языка Интернета здесь вообще не проблема, вы можете игнорировать этот параметр. Отключение распознавания даты может быть вашим единственным шансом, почему это не вариант? - person Tomalak; 20.11.2008
comment
Кстати, вам действительно следует использовать комментарии (а не ответы), если вы не отвечаете на свой вопрос. - person Tomalak; 20.11.2008

В редакторе VBA попробуйте установить

WebDisableDateRecognition

внутри стандартной команды веб-запроса:

With Selection.QueryTable
    .Connection = _
    "URL;http://whateverYourURLis"
    .WebSelectionType = xlSpecifiedTables
    .WebFormatting = xlWebFormattingNone
    .WebTables = "7"
    .WebPreFormattedTextToColumns = True
    .WebConsecutiveDelimitersAsOne = True
    .WebSingleBlockTextImport = False
    .WebDisableDateRecognition = True
    .WebDisableRedirections = False
    .Refresh BackgroundQuery:=False
End With

(Обратите внимание, что вы можете получить то же самое, что и выше, просто записав макрос при выполнении веб-запроса...)

Хорошо сработало здесь, надеюсь, что это сработает и для вас.

Ваше здоровье!

person DBS    schedule 18.10.2013