AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 29.07.2016, 12:34   #1  
Artikov ist offline
Artikov
Участник
 
33 / 12 (1) ++
Registriert seit: 06.06.2016
? Удаление макроса из 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);
}
Alt 29.07.2016, 12:56   #2  
S.Kuskov ist offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3.449 / 1792 (66) ++++++++
Registriert seit: 28.04.2007
Ort: Калуга
А зачем?
Alt 29.07.2016, 12:59   #3  
Artikov ist offline
Artikov
Участник
 
33 / 12 (1) ++
Registriert seit: 06.06.2016
Zitat:
Zitat von S.Kuskov Beitrag anzeigen
А зачем?
Нужно, чтобы итоговый файл сохранялся без макросов, а в первоначальном шаблоне этот макрос есть
Alt 29.07.2016, 13:08   #4  
Artikov ist offline
Artikov
Участник
 
33 / 12 (1) ++
Registriert seit: 06.06.2016
Уже решил проблему, надо было добавить:
X++:
    vbp = wbk.VBProject();
    vbc = vbp.VBComponents();
    vbcom = vbc.Item("Module1");
    vbc.Remove(vbcom);
Alt 29.07.2016, 15:28   #5  
Товарищ ♂uatr ist offline
Товарищ ♂uatr
Участник
Benutzerbild von Товарищ ♂uatr
MCBMSS
 
337 / 915 (31) +++++++
Registriert seit: 23.10.2012
Добрый день!
Так же можно сохранять файл в другом типе, без поддержки макросов.
This post has been rated by: Logger (1).
Alt 29.07.2016, 17:32   #6  
Artikov ist offline
Artikov
Участник
 
33 / 12 (1) ++
Registriert seit: 06.06.2016
Zitat:
Zitat von Товарищ ♂uatr Beitrag anzeigen
Добрый день!
Так же можно сохранять файл в другом типе, без поддержки макросов.
тут проблема в том, что когда все необходимые операции уже проделаны и наступает момент сохранения файла, высвечивается такое сообщение (см. Вложение). А я хотел бы от него избавиться. Вот и думаю, как это сделать.
Если просто нажать "Да", то ничего не сохраняется и отчет вылетает
Miniaturansicht angehängter Grafiken
Klicken Sie auf die Grafik für eine größere Ansicht

Name:	1.png
Hits:	427
Größe:	7,9 KB
ID:	10902  
Alt 31.07.2016, 21:04   #7  
Товарищ ♂uatr ist offline
Товарищ ♂uatr
Участник
Benutzerbild von Товарищ ♂uatr
MCBMSS
 
337 / 915 (31) +++++++
Registriert seit: 23.10.2012
Zitat:
Zitat von Artikov Beitrag anzeigen
высвечивается такое сообщение (см. Вложение). А я хотел бы от него избавиться. Вот и думаю, как это сделать.
На форуме уже поднимался данный вопрос. Проблему решает передача false в метод displayAlerts.
Zitat:
Zitat von Artikov Beitrag anzeigen
Если просто нажать "Да", то ничего не сохраняется и отчет вылетает
Скорее всего, нужно передать дополнительные параметры при сохранении. Тоже поднимался этот вопрос:
Excel с макросами
This post has been rated by: S.Kuskov (2), Artikov (1).
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Вывод в Excel через Array Roman N. Krivov DAX: Программирование 15 06.05.2010 12:02
Построчный импорт из Excel через COM olesh DAX: Программирование 20 23.10.2008 14:01
Проблема с импортом из Excel через COM Romsrs DAX: Программирование 18 10.06.2008 10:34
не получается экспорт в excel через COM Dimk DAX: Программирование 2 16.02.2007 19:37
Экспорт в Excel через WorkBooks.OpenText() Владимир Максимов DAX: Программирование 2 09.04.2004 17:16

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 20:37 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.