Mam skrypt, w którym używam win32com do interakcji z usługą COM. Działa zgodnie z przeznaczeniem, gdy program jest już otwarty. Łączę się z nią za pomocą metody win32com.client.dynamic.Dispatch, a następnie wchodzę w interakcję z dokumentem, który powinien już być otwarty. Zakładając, że program jest już otwarty, mogę łatwo sprawdzić, czy dokument jest otwarty, ale nie jestem pewien, jak sprawdzić, czy program jest już otwarty, czy nie. Kiedy używam wspomnianej wysyłki, to po prostu uruchamia program, jeśli nie jest już otwarty, co nie jest tym, czego chcę.Python/win32com - Sprawdź, czy program jest otwarty
6
A
Odpowiedz
10
wypróbuj metodę win32com.client.GetActiveObject(). To co mogę używać w niektórych funkcji convenience mam napisane, to jedno za Excel:
def Excel(visible=True):
'''Get running Excel instance if possible, else
return new instance.
'''
try:
excel = win32com.client.GetActiveObject("Excel.Application")
print("Running Excel instance found, returning object")
except:
excel = new_Excel(visible=visible)
print("No running Excel instances, returning new instance")
else:
if not excel.Workbooks.Count:
excel.Workbooks.Add(1)
excel.Visible = visible
return excel
new_Excel jest kolejnym udogodnieniem dla funkcji otwierania nowych instancji obiektu aplikacji Excel.
Powiązane problemy
- 1. Sprawdź, czy plik jest otwarty.
- 2. Sprawdź, czy port jest otwarty.
- 3. Panel jQuery Mobile - sprawdź, czy jest otwarty
- 4. Sprawdź, czy plik jest otwarty w Pythonie
- 5. Sprawdź, czy program jest zainstalowany
- 6. Sprawdź, czy indeks elasticsearch jest otwarty lub zamknięty
- 7. Jak ustalić, kiedy otwarty jest program fancybox?
- 8. Sprawdź, czy jakiś program exe jest uruchomiony w oknach
- 9. Sprawdź, czy program istnieje ze skryptu pythonowego
- 10. Sprawdź, czy otwarty plik został usunięty po otwarciu w pythonie
- 11. Sprawdź program debugowania
- 12. Sprawdź, czy intencja jest dostępna.
- 13. Sprawdź, czy jest fałsz.
- 14. Angular-ui: Czy otwarty jest jakiś mod?
- 15. Sprawdź, czy plik nie jest otwarty (nieużywany w innym procesie) w Pythonie
- 16. Jak sprawdzić, czy arkusz kalkulacyjny programu Excel 2007 jest otwarty i czy jest otwarty przez WHO przy użyciu VBScript
- 17. Sprawdź, czy obiekt jest pusty
- 18. Sprawdź, czy przeglądarka jest zajęta
- 19. Sprawdź, czy typ jest słownik
- 20. Sprawdź, czy plik jest pusty
- 21. Sprawdź, czy dotknięte jest UIView?
- 22. Sprawdź, czy NSDictionary jest pusty
- 23. Sprawdź, czy UIWebView jest ładowany
- 24. Sprawdź, czy NSMutableDictionary jest pusty?
- 25. Czy plik jest pusty sprawdź
- 26. Sprawdź, czy pakiet jest zainstalowany.
- 27. Sprawdź, czy katalog jest pusty
- 28. Sprawdź, czy mongoDB jest podłączony
- 29. Sprawdź, czy NumericUpDown jest pusty
- 30. Sprawdź, czy element jest obecny.