Wpis z mikrobloga

Koledzy mam problem. Zrobiłem pewien skrypt który pomaga mi w życiu ale ma pewnego buga. W skrócie skrypt pobiera z ftp plik excel i go uruchamia, czeka aż plik wyłączę i wyrzuca go na ftp. Wszystko działa spoko pod warunkiem, że na kompie nie mam uruchomionego innego pliku excel. Jeśli jednak jest to skrypt nie czeka aż zamknę excel tylko wykonuje dalej program (upload na ftp) i wywala błąd Permission denied bo nie może wykonać działań na uruchomionym pliku. Po pobraniu uruchamianygo komendą os.system('nazwapliku'). Teraz kończy się moja wiedza nt systemów operacyjnych i tym czemu komenda zachowuje się tak jakby była wykonana. Nie wiem nawet czego szukać więc proszę o pomoc.
#python.
  • 5
@m_bielawski: ale to niczego nie zmieni w tym wypadku. Poza tym nie chcę każdemu nowemu koledze w firmie bawić się w ustawieniach w kompie. Zrobilem setup.exe tego programu i niech każdy sobie instaluje. Setup ściąga i instaluje zawsze najnowszą wersję. Druga sprawa to nie każdy (szcególnie nowy pracownik) powinien mieć swobodny dostęp do ftp. Mój skrypt ściąga tylko te pliki które ich interesują.
@NiezajebywalnyNiesporczak:
Już nie pamiętam dokładnie, ale z pythona dało się jakoś uzyskać dostęp do COM excela (component object model), tam już się powinno bez problemu dać sprawdzić czy plik jest ciągle uruchomiony - podobnie jak w VBA.

Tak samo jest w przypadku zabawy z VBA i otwartymi różnymi plikami.


@scudetto: Możesz rozwinąć? Trochę w VBA pisałem, problemów tego typu nie miałem nigdy.