2013-05-27 8 views
2

csproj 파일을 기반으로 Sandcastle 도움말 파일 작성기로 CHM 파일을 생성 중입니다.CHM 파일에서 TopicID를 가져 오는 방법은 무엇입니까?

... 
[ExcelFunction(Category = "MyCategory", Name = "MyUDF", HelpTopic="MyHelp.chm!102")] 
... 

을 나는 기사에 대한 모든 URL을 알고 있지만 : 내가 궁극적으로 할 노력하고있어, CHM 파일의 각 주제의 한 TopicID 찾아과 같이 엑셀-DNA로를 사용하는 것입니다 CHM 파일 - 7zip 및 HTML Help Workshop (HHW)으로 내용을 볼 수 있습니다 - Sandcastle 또는 HHW를 사용하여 특정 ID로 주제를 매핑하거나 이미 사용 된 주제의 ID를 찾는 방법을 모르겠습니다. 있다.

의견이 있으십니까?

건배,

크리스토스

---- UPDATE ----

내가 나서서 Doxygen을 가진 CHM 파일을 생성하고, 수동으로 [MAP] 및 추가

[ALIAS] HTML Help Workshop에서 HPP 파일의 필드 특정 HTML을 숫자 1000에 매핑 했으므로 이제 "MyHelp.chm! 1000"을 사용할 때 실제로 chm 파일 내에서 올바른 html이 열립니다. 그래서 Sandcastle이 Excel-Dna와 함께 사용하기 위해 매핑과 앨리어싱을하지 않는 것이 문제라고 생각합니다. 나는 이것을 우리가 사용하는 TFS에서 빌드 이벤트로 추가 할 계획이므로이 로터리 방식을하고 싶지 않습니다. 다른 방법이 있다고 생각합니까?

나는이 일을 시도했다 : 그들 중

MyHelp.chm!html\filename_of_generated_html 
MyHelp.chm!html\filename_of_generated_html.html 
MyHelp.chm!html\\filename_of_generated_html 
MyHelp.chm!html.filename_of_generated_html 

그러나 아무도는 CHM 파일로 지적 할 수있을 것 없습니다.

의견이 있으십니까?

답변

1

내가 자동으로이 작업을 수행하는 쉬운 방법이 아닌 것으로 알고 있습니다. 가장 좋은 방법은 시간과 노력을 들여 맵핑/별칭 파일을 만들어서 다시 매핑하는 것입니다. SHFB가 임시 제품으로 생성하는 출력을 사용하면 각 HTML 파일의 모든 매핑과 별칭을 포함하는 사용자 지정 HHP 파일을 삽입 할 수 있습니다. 그런 다음 HHP 파일로 모든 것을 다시 컴파일해야합니다. 새로운 UDF 함수가 Excel 프런트 엔드에 추가되고 Excel-Dna를 통해 노출되면 수동 입력을 HHP 파일에 추가해야합니다. 몇 가지 UDF가있는 프로젝트의 경우 자동으로 HHP 파일을 만들만한 가치가 없다고 생각합니다. 그러나 UDF를 1000 개 이상 다루는 경우이 파일을 자동으로 생성하는 C# 프로젝트를 만드는 것이 더 나을 것입니다. 새로운 UDF 함수가 생성됩니다 그래서 다음 줄은 HHP 파일에 추가해야합니다

For example if you've created the UDF function MyFunction(...), then its Excel-Dna attribute 
will be: 
[ExcelFunction(IsThreadSafe = true, Category = Defines.ExcelCategory, Name = "MyFunction", Description = "My function's description", HelpTopic = "Help_Manual.chm!XXXX")] 

Then you'll need to add the following lines in the HHP file: 

[FILES] 
... 
html\M_ExcelWrapper_QDAExcelUDFs_MyFunction.htm 
...  


[ALIAS] 
... 
MYFUNCTION=html\M_ExcelWrapper_ExcelUDFs_MyFunction.htm 
...  


[MAP] 
... 
#DEFINE MYFUNCTION      XXXX 
... 
매핑의 이름이 차례로 파일을 가리 키도록해야 별칭 assignement을 일치해야

이미 [Files] 섹션에 추가되었습니다.

나는 이것이 어떻게 든 도움이되기를 바랍니다.