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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.06.2015, 16:39   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Как проверить, что файл Excel уже открыт другим?
Здравствуйте

Как проверить, что файл Excel уже открыт другим пользователем?

Ax 3.0
Старый 24.06.2015, 17:00   #2  
axm2013
Гость
 
n/a
http://www.cyberforum.ru/csharp-begi...ead955386.html

Как вариант
Старый 24.06.2015, 17:09   #3  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
305 / 873 (30) +++++++
Регистрация: 23.10.2012
Конечно пользователя конкретного вот этим не получите:
X++:
    try
    {
        System.IO.File::Open( @'C:\TMP\1234I_13.05.2015_1.xlsx', System.IO.FileMode::Open, System.IO.FileAccess::ReadWrite, System.IO.FileShare::None );
        if (stream != null)
            stream.Close();
    }
    catch( Exception::CLRError )
    {
        error(CLRInterop::getLastException().ToString());
    }
Но, результат на лицо.
Старый 24.06.2015, 17:31   #4  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
c .Net в Ax3.0 туговато
Старый 25.06.2015, 01:06   #5  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Более, по-моему, правильная постановка вопроса: как проверить, что текущий пользователь(ский процесс) может открыть файл в необходимых режимах чтения/записи и совместного доступа. Посмотрите справку по енуму System.IO.FileShare в примере выше - это .net-представление соотв.флагов для Win32 API-функции CreateFile, которую вы можете вызывать из 3.0 с теми же целями проверки доступности файла. Также посмотрите примеры её использования в классе WinApi.
Старый 25.06.2015, 09:23   #6  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
В 12-ке нашел. Может подойдет?
X++:
#winapi
public client static boolean fileLocked(Filename filename)
{
    int handle;

    if (! WinAPI::fileExists(filename))
        return false;

    handle = WinAPI::createFile(filename, #OPEN_EXISTING, #GENERIC_WRITE);

    if (handle == #INVALID_HANDLE_VALUE)
        return true;

    WinAPI::closeHandle(handle);

    return false;
}
За это сообщение автора поблагодарили: Eldar9x (5).
Старый 25.06.2015, 16:16   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
да, его как раз и использовал
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
Excel - проверить существование Range JBOS DAX: Программирование 16 22.01.2013 16:53
Как открыть файл Excel, используя OWC Spreadsheet Cardagant DAX: Программирование 3 16.05.2012 00:06
Excel: закрыть файл Arahnid DAX: Программирование 19 13.09.2007 16:55
Как из Ax увидеть Excel файл? NJD DAX: Программирование 3 04.06.2004 14:06

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

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

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