VSTO Mock Range et ajouter des données de requête à la gamme moqués

voix
0

Je ne l'ai pas encore rien écrit concret, mais j'ai une application VSTO et je voudrais faire ce qui suit:

1) Mock une plage d'interopérabilité en utilisant Moq

2) Ajouter un QueryTable à la gamme moqué de sorte qu'il est peuplé avec les données renvoyées à partir d'une requête SQL

3) Ajouter un DataValidation à une cellule (plage) de ma feuille de calcul actuelle à l'aide de la gamme de données moquée comme une liste de itens possibles dans le combobox déroulant.

Est-ce un comportement possible?

Dans ma première tentative, je suis en mesure de créer la gamme moqués mais mon ListObject ne serait pas créé en utilisant une gamme moquée au lieu d'une portée réelle.

Des conseils seraient appréciés

Comme l'a demandé, voici un code:

List<string> values = new List<string>();
values.Add(First);
values.Add(Second);
if(values.Count > 0)
{
    string data = String.Join(;, values);
    var mockedrange = new Mock<Microsoft.Office.Interop.Excel.Range>();
    for(int i = 0; i < values.Count; i++)
    {
        mockedrange.Setup(r => r[i, It.IsAny<object>()]).Returns(values[i]);
    }

    Microsoft.Office.Interop.Excel.Range range3 = VSTOSheet.Cells[countaux, 3];
    range3.Select();
    range3.Validation.Delete();
    range3.Validation.Add(XlDVType.xlValidateList,
                          XlDVAlertStyle.xlValidAlertInformation,
                          XlFormatConditionOperator.xlBetween, 
                          data, 
                          Type.Missing);
    range3.Validation.IgnoreBlank = true;
    range3.Validation.InCellDropdown = true;
}
Créé 20/10/2018 à 03:26
source utilisateur
Dans d'autres langues...                            

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more