AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.09.2007, 15:08   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Не нашел оригинальный пост, с которого я содрал код, поэтому просто приведу метод, который использую я у себя:

X++:
void protectWorkBook(boolean _displayGridLines = true, boolean _protect = true, str _password = date2str(SystemDateGet(), 123, 2, 0, 2, 0, 4) + time2str(timeNow(), 0, 0))
{
    COM comWorkBook;
    COM comWorkSheets;
    COM comWorkSheet;
    COM comActiveWindow;
    int iCount, workSheetCount;
    int applVersion;
    ;

    if (prmIsDefault(_protect) && !this.doProtectWorkBook())
        return;

    if (!_protect)
        return;

    try
    {
        applVersion = str2int(m_comApplication.version());
        comWorkBook = m_comApplication.activeWorkBook();
        comWorkSheets = comWorkBook.workSheets();
        workSheetCount = comWorkSheets.count();
        for (iCount = 1; iCount <= workSheetCount; iCount++)
        {
            comWorkSheet = comWorkSheets.Item(iCount);
            if (applVersion >= 10)
            {
                comWorkSheet.protect(
                                    _password,          //password
                                    true,               //DrawingObjects
                                    true,               //Contents
                                    true,               //Scenarios
                                    true,               //UserInterfaceOnly
                                    true,               //AllowFormattingCells
                                    true,               //AllowFormattingColumns
                                    true,               //AllowFormattingRows
                                    false,              //AllowInsertingColumns
                                    false,              //AllowInsertingRows
                                    false,              //AllowInsertingHyperlinks
                                    false,              //AllowDeletingColumns
                                    false,              //AllowDeletingRows
                                    true,               //AllowSorting
                                    true,               //AllowFiltering
                                    true                //AllowUsingPivotTables
                                    );
            }
            else
            {
                comWorkSheet.protect(
                                    _password,          //password
                                    true,               //DrawingObjects
                                    true,               //Contents
                                    true,               //Scenarios
                                    true                //UserInterfaceOnly
                                    );
            }
            comWorkSheet.enableSelection(-4142);    //xlNoSelection
        }
        comActiveWindow = m_comApplication.activeWindow();
        comActiveWindow.displayGridLines(_displayGridLines);
    }
    catch
    {
        this.throwError(@"Произошла ошибка при блокировании редактирования рабочей книги Excel");
    }
}
Про диалог и xls
У диалога есть методы filenameLookupFilter и другие.
Используются вот так:
X++:
    _filenameLookupFilter = conIns(_filenameLookupFilter,1,"@SYS76040", '*.axc');
или просто вот так:
X++:
    _filenameLookupFilter = ['All files','*.*'];
За это сообщение автора поблагодарили: Sergey Petrov (1), xfree (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Исследование скорости экспорта данных из Axapta в Excel (коллективный эксперимент) Gustav DAX: База знаний и проекты 79 13.02.2014 13:18
[Excel] - Несколько версий Excel на машине клиента Андре DAX: Программирование 11 07.08.2007 13:45
Вызов Item() для коллекций Excel Владимир Максимов DAX: Программирование 15 17.08.2006 19:47
Как из Ax увидеть Excel файл? NJD DAX: Программирование 3 04.06.2004 14:06
Есть файл Excel по расчеты стоимости модулей Аксапты DDA DAX: Администрирование 9 06.03.2003 16:09
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:24.