Microsoft는 최근 Excel 버전과 현재의 omacro 보안 수준을 읽을 수 있도록 오랫동안 (그리고 공식적으로 권장하는) 코드를 손상 시켰습니다. 작업하는 데 사용 무엇 Excel 버전 및 매크로 보안 수준을 얻는 방법
:// Get the program associated with workbooks, e.g. "C:\Program Files\...\Excel.exe"
SHELLAPI.FindExecutable('OurWorkbook.xls', ...)
// Get the version of the .exe (from it's Properties...)
WINDOWS.GetFileVersionInfo()
// Use the version number to access the registry to determine the security level
// '...\software\microsoft\Office\' + VersionNumber + '.0\Excel\Security'
(나는 항상 보안 수준은 안전하지 않은 레지스트리 항목 년 동안 것을 즐겼다 ...) Office 2010의
, .XLS 파일은 지금 ""Microsoft Application Virtualization DDE Launcher "또는 sftdde.exe와 관련이 있습니다. 이 exe 버전 번호는 분명히 Excel 버전이 아닙니다.
내 질문 : 실제로 Excel을 시작하고 버전과 (OLE 된 CreateOle ('이 Excel.Application')를 사용하여) 보안 수준을 쿼리보다 깨끗하고 빠른,이
기타, Excel 2003부터 모든 버전에서 작동 할 수있는보다 안정적인 방법?
감사합니다. Andreas. 그게 내가 필요한 것입니다. 닫힌 괄호가 잘못 배치되어 있습니다. 읽어야합니다 : 결과 : = ReadString ('Path') + 'excel.exe'; – RobertFrank
@ Tom1952 : 매우 사실입니다. 수정 됨. –
이 답변은 그 이상이라면 더 이상 정확하지 않습니다. 레지스트리 경로가 존재하지 않습니다. – GolezTrol