Vba Excel2002Web查询搞乱了en GB日期

Vba Excel2002Web查询搞乱了en GB日期,vba,excel,excel-web-query,Vba,Excel,Excel Web Query,下午好 我在Excel2002中有一个web查询,它针对的是一个返回日期列的网页。日期返回为DD/MM/YYYY,我想在电子表格中显示这些日期。我运行Excel的机器的区域设置设置为en GB,Internet选项下唯一设置的语言是英国英语 然而,web查询将日期提取为MM/DD/YYYY,这被Excel误解了 如何让Web查询返回我的区域设置中的日期,MM/DD/YYYY?也许您很幸运,Excel了解HTMLlang属性或元标记。老实说,我猜这没什么区别 如果您可以控制网站,您可以尝试添加它们

下午好

我在
Excel2002
中有一个web查询,它针对的是一个返回日期列的网页。日期返回为
DD/MM/YYYY
,我想在电子表格中显示这些日期。我运行Excel的机器的区域设置设置为en GB,Internet选项下唯一设置的语言是英国英语

然而,web查询将日期提取为
MM/DD/YYYY
,这被Excel误解了


如何让Web查询返回我的区域设置中的日期,
MM/DD/YYYY

也许您很幸运,Excel了解HTML
lang
属性或
元标记。老实说,我猜这没什么区别

如果您可以控制网站,您可以尝试添加它们,看看这是否会产生影响。如果你能控制网页,你可以改变日期格式


另一种方法是完全禁用日期识别,并在查询后手动对其进行后期处理。要执行此操作,请重新创建web查询,然后在“新建web查询”对话框中,单击右上角的“选项…”按钮。有一个“禁用日期识别”复选框。

网页格式为en GB。我将控制面板中的区域设置更改为en GB。我将Internet选项语言更改为en GB

尽管如此,Excel的Web查询仍以en-US格式返回数据。我看不出你的建议会有什么帮助。在这种情况下,后处理不是一个选项。

您可以修改“web查询”吗

通用日期格式是办公产品识别日期/时间的更好方式。我在处理GB-to-US日期时也遇到过类似的问题,我发现将日期编码成这种格式可以为您节省很多麻烦

Universal Date format is : "yyyy-mm-dd hh:mm:ss"

excelwebquery在国际事务方面非常糟糕。这对我也不起作用。我最后要做的就是手动拉入数据,使用宏,按区域设置进行解析,然后放到工作表上。幸运的是,我查询了一个返回XML的web服务,因此很容易。如果解析HTML,请执行Tomalak所做的操作。

在Excel 2007中,在区域设置中更改日期格式效果很好。

在VBA编辑器中,尝试设置

WebDisableDateRecognition

标准web查询命令中的属性:

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
(请注意,在进行web查询时,只需录制一个宏,即可获得与上述相同的结果…)

在这里工作得很好,希望对你也有帮助


干杯

Internet语言选项根本不是问题,您可以忽略此设置。禁用日期识别可能是你唯一的机会,为什么这不是一个选项?顺便说一句,你真的应该使用评论(而不是答案),只要你不回答自己的问题。