我认为你的问题是FormatDateTime()返回一个字符串,改为DateValue()改为。如果 return fromDocx.getAttribute()包含点,您需要先用斜线替换它们。
所以;
'[AX1] is the same as Range("AX1")
[AX1] = DateValue(Docx.getAttribute("r1ed"))
[AX2] = DateValue(Docx.getAttribute("r2ed"))
[AX3] = DateValue(Docx.getAttribute("r3ed"))
[AX4] = DateValue(Docx.getAttribute("r4ed"))
或者,如果有点;
[AX1] = DateValue(Replace(Docx.getAttribute("r1ed"), ".", "/"))
[AX2] = DateValue(Replace(Docx.getAttribute("r2ed"), ".", "/"))
[AX3] = DateValue(Replace(Docx.getAttribute("r3ed"), ".", "/"))
[AX4] = DateValue(Replace(Docx.getAttribute("r4ed"), ".", "/"))
如果这不能解决问题,请您发布有关Docx.getAttribute()返回内容的更多信息。
编辑:另外,知道您需要单元格包含的格式会有所帮助 - 我假设正确的日期是可以接受的 - 您可能需要一个带有特定格式日期的字符串。如果是这种情况,您可以用类似的东西包装上面的内容;
[AX1] = Format(DateValue(Docx.getAttribute("r1ed")), "dd/mm/yyyy")
可能FormatDateTime()是背叛了你,Format()可能更灵活