2011-01-20 8 views
1

IRibbonExtensibilityを使用してVS2008でOutlook 2007 Addinをビルドします。Outlook 2007カスタムリボン上のeditBoxのアドインアクセス値

私のシンプルなリボンは、MailItemに表示され、editBoxとボタンコントロールがあります。必要な機能は、ユーザーがeditBoxに数字を入力してボタンをクリックすることです。電子メールメッセージは、その後、第三者のシステムに保存されます(editBoxに入力された番号を「プライマリキー」として使用して位置情報などを制御します)。

ユーザが入力した値にアクセスする時点で私は立ち往生しています。 editBoxはボタンのコールバック関数から取得します。

は私がフォローマークアップ

 <editBox 
      id="FileNumber" 
      maxLength="6" 
      label="File No" 
      /> 

     <button 
      id="AddEmailTo" 
      label="Save to" 
      onAction ="AddEmailToButton_Action" 
      /> 
    </group> 
    </tab> 

そして、次のコールバックを持って

ます。public void AddEmailToButton_Action(Microsoft.Office.Core.IRibbonControl p_Control) {

 //what do I need to add here to access the value in the editBox? 
    } 

感謝 アンドリュー

答えて

3

あなたはエディットボックスの値を格納するプライベート変数を宣言し、自分のクラスでコールバックのonChange

とプライベート変数に値を格納する必要があります。 この変数を使用すると、テキストボックスの値を取得できます。あなたのリボンXAMLで

private string FileNumberText = "initial value"; 

エディットボックスの変更を記録するためのgetTextコールバック

public string onGetText(IRibbonControl control) 
{ 
switch (control.Id) 
{ 
    case "FileNumber":      
     return FileNumberText ; 
    case "editBox02": 
     return "..."; 
    default: 
     return ""; 
}    
} 

を使用し、defaut値を初期化する(店舗変数にエディットボックスの値を渡す)

 // Recupere le contenu du controle editBox dans la variable Cible 
     public void RecupDonnee(IRibbonControl control, String Text) 
     { 
      switch (control.Id) 
      { 
       case "FileNumber":      
        FileNumberText = Text.Trim() ; 
        break; 
       case "editBox02": 
        Screen2 = Text.Trim() ; 
        break; 
      }  
     } 

<editBox 
id="FileNumber" 
maxLength="6" 
label="File No"     
getText="onGetText" 
onChange="RecupDonnee" 
screentip="Tip" 
/> 
関連する問題