Excel 용 C++ .xll addIn이 있습니다. 다음 테스트 워크 시트 함수는로드 된 xll과 함께 작동합니다.사용자 지정 xll 함수에 ExecuteExcel4Macro
LPXLOPER __stdcall Test()
{
return &xlstring("Yayage",true)
}
예 : = Test()는 워크 시트에서 "Yayage"를 반환합니다. xlstring은 문자열을 Excel 문자열로 변환하고 excel 또는 xll이 해당 메모리를 해제할지 여부를 지정하는 내 자신의 사용자 지정 메서드입니다.
VBA를 사용하여 2003 및 이전 버전의 'GUI 도우미'AddIn과 2007 년 이후의 C# Excel 2007 AddIn 프로젝트를 제작할 계획입니다. 이 두 버전은 웹 서비스와 통신하는 버전 독립적 인 .xll로 작동합니다. , .RUN하는 경우를 제외하고 ( Application.ExecuteExcel4Macro (문자열) Application.Evaluate (문자열) Application.Run (...)
이 잘 작동 :
모두 C# 및 VBA는 다음과 엑셀 기능을 가지고 있습니다 C#에서는 32 개의 매개 변수를 사용하고자 함) 문자열을 반환하는 일반 워크 시트 함수 (예 : VBA에서 :
MsgBox Application.<Any above method>("=Trim("" Billy Bob Fred "")")
이
그러나 "빌리 밥 프레드"를 포함하는 메시지 상자를 생성, 나는 이것이 내 사용자 정의 워크 시트 함수의 작업을 얻을 수 없습니다. 워크 시트 함수 대신 명령으로 등록하는 것도 작동하지 않습니다.
필자는 = /()가있는 경우와없는 경우의 다양한 스타일의 함수 이름을 시도했으며, 내가 생각할 수있는 그 밖의 모든 것에 대해서도 시도해 보았습니다.
아무도 도와 줄 수 있습니까?
그래서'Run ("= Test()")'을 시도하고 계십니까? 그것에 대해 효과가없는 것은 무엇입니까? 틀린 문자열? 빈 문자열? 에러 메시지? – Tim