Необходимо увеличить окно Excel после открытия его с помощью win32com.client - PullRequest
0 голосов
/ 01 июля 2019

Я открываю лист Excel, используя win32com.client, и выводю окно на передний план, используя функцию Активировать. Но окно открывается в минимизированном виде. Мне нужно максимизировать это. Пожалуйста, помогите

 import win32com.client as win32

 excel = win32.gencache.EnsureDispatch('Excel.Application')
 wb1 = excel.Workbooks.Open(r'C:\\blp\\1700.xlsx')
 wb2 = excel.Workbooks.Open(r'C:\\blp\\Book1.xlsx')
 excel.Visible = True

 wb1.Activate()

Пожалуйста, дайте мне знать, как развернуть окно Excel. Спасибо!

1 Ответ

2 голосов
/ 02 июля 2019
import win32com.client as win32

excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(r'Path...\YourFile.xlsx')
excel.Visible = 1
excel.WindowState = win32.constants.xlMaximized  # this works for me 

Также, когда вы используете префикс пути строки с r'', вам не нужно экранировать косую черту.

Обновление: Если вы хотите увидеть, какие COM-константы доступны, вам нужно один раз использовать win32.gencache.EnsureDispatch(), потому что он сгенерирует файл, содержащий все константы из библиотеки типов в объекте с именем win32com .clients.constants. После того, как вы запустили приведенную выше строку кода, папка создается во временном каталоге вашей операционной системы. Например, в Windows временный каталог находится в C:\Users\'UserName'\AppData\Local\Temp. Там будет папка с именем gen_py. В моей системе доступные константы, которые вы можете использовать, находятся внутри gen_py\3.7\00020813-0000-0000-C000-000000000046x0x1x7\__init__.py. Обратите внимание, что папка 3.7 - это текущая версия Python, которую вы используете, поэтому она может отличаться для вас, и следующая папка с именем с номерами также может отличаться. После открытия файла __init__.py доступные константы находятся внутри класса с именем constants.

Вот так я и ответил на ваш вопрос. Параметр Максимизировать Excel был в константах класса как xlMaximized =-4137 # from enum XlWindowState.

Кроме того, после создания папки gen_py во временной папке вашей операционной системы вы можете использовать константы с win32.Dispatch or win32.DispatchEx, но если вышеупомянутой папки еще не существует, вы должны один раз использовать win32.gencache.EnsureDispatch() для создания это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...