29.07.2016, 12:34 | #1 |
Участник
|
Удаление макроса из Excel через x++
Добрый день!
Мне необходимо удалить макрос из Excel файла c помощью x++. Я нашел, как его запустить, а вот с удалением проблема. Пробовал так, но я совсем не уверен, что это верно (тем более не работает). Буду рад любой помощи, спасибо. X++: static void deleteMacros(Args _args) { COM xlApp; // Excel.Application COM wbks, wbk; // Workbooks, Workbook COM wkss, wks; // Worksheets, Worksheet COM vbp; // Workbook.VBProject (VBA-проект, содержащийся в рабочей книги) COM vbc; // VBProject.VBComponentS (коллекция компонентов проекта: модули, модули класса, формы) xlApp = new COM("Excel.Application"); wbks = xlApp.Workbooks(); wbk = wbks.Open("C:/Users/aartikov/Desktop/final2.xlsm"); // открываем файл существующей рабочей книги vbp = wbk.VBProject(); vbc = vbp.VBComponents(); vbc.Remove("setFormulaValuesStart"); // xlApp.Run("setFormulaValuesStart"); xlApp.visible(true); } |
|
29.07.2016, 12:56 | #2 |
Участник
|
А зачем?
|
|
29.07.2016, 12:59 | #3 |
Участник
|
|
|
29.07.2016, 13:08 | #4 |
Участник
|
Уже решил проблему, надо было добавить:
X++: vbp = wbk.VBProject();
vbc = vbp.VBComponents();
vbcom = vbc.Item("Module1");
vbc.Remove(vbcom); |
|
29.07.2016, 15:28 | #5 |
Участник
|
Добрый день!
Так же можно сохранять файл в другом типе, без поддержки макросов. |
|
|
За это сообщение автора поблагодарили: Logger (1). |
29.07.2016, 17:32 | #6 |
Участник
|
Цитата:
Если просто нажать "Да", то ничего не сохраняется и отчет вылетает |
|
31.07.2016, 21:04 | #7 |
Участник
|
Цитата:
Скорее всего, нужно передать дополнительные параметры при сохранении. Тоже поднимался этот вопрос: Excel с макросами |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2), Artikov (1). |