늦은 바인딩을 사용하여 문자열을 Excel 2007에 문자열 (Cell.Value : = '2,5')으로 보내고 있습니다. 실제 코드는 더 같다 : 내 엑셀 97 버전에델파이 2010에서 Excel 2007로 숫자를 보내는 것을 도와주세요
var CellVal: OLEVariant;
...
CellVal := FloatToStr(2.5); // Regionally formatted.
Cell.Value := CellVal;
는,이 값은 기본적으로 "일반"으로 포맷 할 형식과 숫자로 볼 수 있습니다. Excel 2007을 사용하는 고객이 "표준"형식의 셀로 끝나고 Excel에서 문자열이 표시됩니다 (오른쪽 정렬되지 않음). 국가 별 설정을 사용하여 숫자의 서식을 지정하고 Excel이 사용중인 것으로 나타납니다. 기본 지역 설정뿐입니다.
고객이 셀에 2,5을 입력하면 셀을 숫자로 받아 들여서 클립 보드에서 '2,5'문자열을 셀로 복사하면 숫자로도 인식됩니다. 아무도 왜 Excel에서 자동화 인터페이스가 아닌 숫자로 끝나는 문자열 값을 보냈습니까?
의견을 보내 주셔서 감사합니다. 고객에 대한 지역 소수점 구분 기호를 지정하기 위해 편집하면 ','입니다.
확인해 주셔서 감사합니다. 어떤 버전의 Excel을 사용하고 있습니까? 내 Excel 97 올바르게 지역 문자열을 처리합니다. 이 동작이 Excel 2007의 새로운 기능인지 궁금합니다. – MarkF
Excel 2007을 사용하고 있습니다. –
Office 자동화에서는 미국 설정을 사용하여 값을 전달해야하며 Excel에서 해당 값을 지역화해야합니다. Outlook을 사용하여 광범위한 자동화 작업을 수행하고 미국 날짜 형식으로 날짜를 전달해야합니다. 그러면 날짜 형식이 Outlook/Exchange의 지역 설정으로 올바르게 현지화됩니다. –