매크로를 사용하여 단어 문서에서 날짜를 추출하고 Excel에 넣었습니다. 날짜 선택 도구 콘텐츠 제어 기능이 있습니다. 내 PC의 로캘이 이탈리아어 DD / MM / YYYY로 설정되어 있고, 날짜 선택 단어 로캘이 이탈리아어 DD / MM / YYYY로 설정되어 있습니다. 내 날짜 선택기에서 날짜가 예를 들어 08/06/2017로 표시됩니다. 이제는 다음을 사용합니다.
Activeworkbook.Sheets("Sheet1").Range("A1") = objwdDoc.ContentControls(12).Range.Text
하지만 나는 06/08/2017을 얻는다 :
Activeworkbook.Sheets("Sheet1").Range("A1") = format(objwdDoc.ContentControls(12).Range.Text, "DD/MM/YYYY")
하지만 나는 06/08/2017과 같은 날짜를 얻습니다.
내가 사용하면 :
Activeworkbook.Sheets("Sheet1").Range("A1") = format(objwdDoc.ContentControls(12).Range.Text, "MM/DD/YYYY")
나는 실제로 올바른 날짜를 얻는다
다음과 같은 변수를 사용하여 vba 코드를 확인합니다.
date1 = format(objwdDoc.ContentControls(12).Range.Text, "MM/DD/YYYY")
Activeworkbook.Sheets("Sheet1").Range("A1") = date1
디버그에서 내 date1 변수가 정확합니다 : 08/06/2017
Excel A1 tho를 체크인하면 2017 년 6 월 8 일에 셀이 "짧은 날짜, dd / MM / YYYY"와 같은 형식으로 표시됩니다)
왜?
좀 더 복잡 할 수 있지만 먼저 날짜 문자열을 날짜 변수로 변환하고 변수 값으로 셀 값을 설정하는 것이 좋습니다. 이렇게하면 코드를 올바르게 사용하여 올바른 값을 설정할 수 있습니다. 워크 시트에 여전히 잘못된 날짜가 표시되면 셀 번호 형식을 "기본 날짜"로 수동 및 코드 방식으로 명시 적으로 설정하여 디버깅을 시작할 수 있습니다. 결국 글리치 자체가 드러나야합니다.
—
Vince42
text
Excel이 되려고하지 않도록 셀의 형식을 지정해야하는지 궁금 합니다.clever