Как удалить пользовательский список в Excel по C# - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь удалить список в пользовательском списке Excel на C# языке. Но моя программа не может удалить список, который я хочу. Я не знаю, в чем проблема с моей программой. Это не замечает никакой ошибки. Я надеюсь, что кто-то может помочь мне исправить это. Большое вам спасибо. enter image description here

Object customListContents;
for (int i = 5; i <= excelApp.Application.CustomListCount; i++)
    {
        customListContents = excelApp.Application.GetCustomListContents(i);
        foreach (string item in (dynamic)(customListContents))           
                if (item == "China" || item == "Taiwan")                               
                    {
                        excelApp.Application.DeleteCustomList(i);
                         break; 
                    }                       
    }

1 Ответ

1 голос
/ 17 февраля 2020

Полагаю, все, что вам нужно, это:

Globals.ThisAddIn.Application.DeleteCustomList(Globals.ThisAddIn.Application.GetCustomListNum(new string[] { "China", "Taiwan" }));

Здесь то же самое, немного проще, но и дольше:


// get an application object
Excel.Application xlApp = Globals.ThisAddIn.Application;

// assign the list you want to remove to an array
string[] myList = new string[] { "China", "Taiwan" };

// get the number of your list from Excel application
int listNum = xlApp.GetCustomListNum(myList);

// delete the list by its number - it's the only way to delete 
// a custom list that I've found
xlApp.DeleteCustomList(listNum);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...