AHK从Excel中提取日期,然后重新格式化并发送到另一个应用程序

问题描述 投票:0回答:1

我想使用AHK在SAP中自动完成一些更新开始/结束日期的枯燥任务。我已经弄清楚了一切,唯一困扰我的是某些日期转换/操作。这是从活动的excel中提取信息的代码:

F3::
If !WinActive("ahk_exe EXCEL.EXE")
{
    Return
}
Xl := ComObjActive("Excel.Application")
while (Xl.Range("A" . A_Index).Value != "") 
{
    if (A_Index > 1)
    {
        ORD_NUM := Xl.Range("A" . A_Index).Value 
        SAP_BED := Xl.Range("B" . A_Index).Value 
        SAP_BSD := Xl.Range("C" . A_Index).Value            
        MsgBox %SAP_BED%
    }
}
Return

脚本可以很好地提取数据,但是当MsgBox出现时,它会显示“ 4/15/2020”,这是本地DateTime格式(m / d / yyyy),但是对于SAP,我需要在DD.MM中包含日期。 YYYY格式。我有一种解决方法,我可以在Excel中格式化单元格以匹配所需的格式,然后将其复制到记事本中并复制/粘贴回Excel中,但这不是最终解决方案。我希望通过AHK做到这一切。另外,我想与一些同事分享,但是他们可能具有不同的本地格式(例如d / m / yyyy)。Excel数据示例:

Order   SAP_BED SAP_BSD
1001561541  15.04.2020  10.04.2020
1001561542  22.04.2020  17.04.2020
1001550809  23.04.2020  20.04.2020

我相信我需要的一种方法是将excel值转换为AHK中的日期对象,然后使用Format或FormatTime伪造所需的日期格式。有什么帮助吗? :)

提前感谢

excel autohotkey date-format
1个回答
0
投票

您可以使用DayDayMonth功能:

Month

请注意,日期和月份不一定有两位数字。

© www.soinside.com 2019 - 2024. All rights reserved.