innertext VBA与excel之间的冲突

时间:2017-04-04 17:14:23

标签: excel vba innertext

我需要帮助将InternetExplorer中的信息抓取到Excel工作簿。 当我废弃时,innertext属性中的信息是正确的,但在excel中它出错了。 使用代码:

Workbooks("Automatizar PSA").Sheets(1).Cells(linha, 5).Value = ie.Document.getelementsbyclassname("tr-visualizar-detalhes text-center")(i + 1).innertext

我认为这是因为他们假设不同的变量,我使用变量检查得到了:

Watch : : ie.Document.getelementsbyclassname("tr-visualizar-detalhes text-center")(i + 1).innertext : 
"06/04/2017 11:09 " : Variant/String : Módulo11.PSAScrap

Watch : : Workbooks("Automatizar PSA").Sheets(1).Cells(linha, 5).Value : 
04/06/2017 11:09:00 : Variant/Date : Módulo11.PSAScrap

任何帮助,我该如何解决?对不起我发布的方式,不熟悉论坛,如何将其粘贴为代码? 谢谢!!

1 个答案:

答案 0 :(得分:1)

这是区域性DMY与MDY问题。您的样本DMY / MDY不明确,因此无法确定日期的开始日期或系统的区域设置。

日期模糊(月份和日期都小于13)的问题是Excel会将DMY解释为MDY,反之亦然。对于日期大于12的任何其他人,Excel只会将错误的日期作为文本。

这是一个帮手'将DMY翻转为MDY或MDY翻译为DMY的功能。

function flipDMYMDY(str as string)
    str = trim(str)
    flipDMYMDY = mid(str, 4, 3) & left(str, 3) & right(str, 10)
end function

使用as,

Workbooks("Automatizar PSA").Sheets(1).Cells(linha, 5).Value = _
   flipDMYMDY(ie.Document.getelementsbyclassname("tr-visualizar-detalhes text-center")(i + 1).innertext)