어떻게 검출하는 텍스트와 커서 위치에서 변경어를 사용하는 기능
문제
쓰고 싶은 단어를 추가하는 몇 가지 계산 및 업데이트의 일부 ui 때마다 사용자가 무언가를하거나 움직이 현재 삽입 지점입니다.보고에서 MSDN 문서,보이지 않는 어떤 확실한 방법 등 TextTyped 이벤트에서 문서 또는 응용 프로그램 개체입니다.
가 이것이 가능한없이 투표주셔서 감사합니다.
해결책
당신은 아마 발견 단어는 이벤트, 하지만 그들은 정말 거친 작업과 같은 문서를 열어 또는 스위치를 다른 문서입니다.나 MS 의도적으로 이런 짓을 방지하는 엉터리에서 매크로로 둔 입력합니다.
에서 짧은 거의 없음 작업을 수행 할 수있는 좋은 방법이 무엇을 원합니다. A Word MVP 을 확인하는 것이다.
다른 팁
실제로 있는 방법 코드를 실행하는 단어 입력된 사용할 수 있습니다,스마트 태그 및 재지정 인식 방법,이 방법이 될 때마다 라는 단어 입력,즉 때마다 사용자가 입력한 텍스트 히트 공간,탭,또는 키를 입력하십시오.
하나의 문제는 그러나 이것은 변경할 경우 텍스트"를 사용하여 범위에 있습니다.텍스트"그것은 그것을 감지 말씀으로 변경 및 통화 기능 때문에 그것을 일으킬 수 있는 무한 루프가 있습니다.
여기에 몇 가지 코드가이를 달성하기 위해 사용되:
public class AutoBrandSmartTag : SmartTag
{
Microsoft.Office.Interop.Word.Document cDoc;
Microsoft.Office.Tools.Word.Action act = new Microsoft.Office.Tools.Word.Action("Test Action");
public AutoBrandSmartTag(AutoBrandEngine.AutoBrandEngine _engine, Microsoft.Office.Interop.Word.Document _doc)
: base("AutoBrandTool.com/SmartTag#AutoBrandSmartTag", "AutoBrand SmartTag")
{
this.cDoc = _doc;
this.Actions = new Microsoft.Office.Tools.Word.Action[] { act };
}
protected override void Recognize(string text, Microsoft.Office.Interop.SmartTag.ISmartTagRecognizerSite site,
Microsoft.Office.Interop.SmartTag.ISmartTagTokenList tokenList)
{
if (tokenList.Count < 1)
return;
int start = 0;
int length = 0;
int index = tokenList.Count > 1 ? tokenList.Count - 1 : 1;
ISmartTagToken token = tokenList.get_Item(index);
start = token.Start;
length = token.Length;
}
}
제휴하지 않습니다 StackOverflow