2012-11-02 1 views
0

는 최근 스레드 꽤 많이 검색이 하나 건너 온되었다C#에서 Extension.GetFieldNames() 메서드를 사용하기 위해 어떤 네임 스페이스를 선언해야합니까?

Replace MergeFields in a Word 2003 document and keep style

그것은 오래된 스레드하지만 아래 코드의 논리를 가지고 내가 할 수있을 것입니다 확신하기 때문에 매우 유망한 보인다 그것을 활용하십시오. 내가 직면 한 유일한 문제는이 방법을 선언하거나 사용할 수 없다는 것입니다.

Extensions.GetFieldName() 

대체 할 아이디어가 있으면 알려주세요. :)

는 여기에 붙박이 method.It 사용자 정의 방법 및 상호 운용성 아래에 존재하지 않는 수입니다 내가 정말 해달라고

foreach (Field mergeField in document.Fields) 
{ 
    if (mergeField.Type == WdFieldType.wdFieldMergeField) 
    { 
     string fieldText = mergeField.Code.Text; 
     string fieldName = Extensions.GetFieldName(fieldText); 

     if (values.ContainsKey(fieldName)) 
     { 
     mergeField.Select(); 
     application.Selection.TypeText(values[fieldName]); 
     } 
    } 
} 
+1

코드 샘플을 공유 할 수 있습니까? 어떤 네임 스페이스가 이미 참조하고 있습니까? 오류가 무엇입니까? –

+0

그것은 OP가 직접 쓴 것입니다. 자신의 코드를 작성해야합니다 – nawfal

+0

실제로 오류가 없습니다 .. 확장명 아래에 빨간색 물결 모양의 줄이 있습니다. "이름 확장명은 현재 컨텍스트에 없습니다" –

답변

1

Extensions.GetFieldName 생각 사용하려고 실제 코드입니다.

보통 필드 이름이 link .There를 통해 이동하시기 바랍니다이

Int32 endMerge = fieldText.IndexOf("\\"); 
Int32 fieldNameLength = fieldText.Length - endMerge; 
String fieldName = fieldText.Substring(11, endMerge - 11); 

같이 검색되는 fieldName에를 retieve하는 방법에 대한 매우 명확한 코드입니다.

관련 문제