"Win32com"의 두 판 사이의 차이

Pywiki
둘러보기로 가기 검색하러 가기
(새 문서: ==개요== 파이크로소프트에서 개발한 Component Object Model. 컴포넌트 객체를 이용해 프로그램을 개발하는 모델. 프로그래밍언어와 상관없이...)
 
 
(같은 사용자의 중간 판 4개는 보이지 않습니다)
4번째 줄: 4번째 줄:
  
 
프로그래밍언어와 상관없이 개발된 객체를 사용할 수 있게 해준다. C++같은 언어로 개발된 객체도 파이썬에서 사용할 수 있게끔.  
 
프로그래밍언어와 상관없이 개발된 객체를 사용할 수 있게 해준다. C++같은 언어로 개발된 객체도 파이썬에서 사용할 수 있게끔.  
 +
 +
=== 설치 ===
 +
<code>pip install pywin32</code>로 설치할 수도 있지만,  <code>ModuleNotFoundError: No module named 'win32com'</code> 라는 에러가 뜨기도 한다. 그럴 땐 pip이 아니라 다음의 링크로 들어가 버전에 맞는 모듈을 다운받는다.
 +
 +
https://github.com/mhammond/pywin32/releases 파이썬을 자동으로 찾아 설치해준다.
 +
 
===사용===
 
===사용===
 
import win32com.client
 
import win32com.client
74번째 줄: 80번째 줄:
 
|워크시트.Cells(1, 1).Interior.colorIndex= 값
 
|워크시트.Cells(1, 1).Interior.colorIndex= 값
 
|}
 
|}
[[분류:라이브러리]]
+
 
 +
= 문제해결 =
 +
 
 +
=== "ImportError: DLL load failed: %1은(는) 올바른 Win32 응용 프로그램이 아닙니다" ===
 +
일반적으로 주식 트레이딩 따위를 위해 64bit 환경에서 32bit 파이썬을 사용할 때 라이브러리들의 충돌로 나타나는 메시지이다. 아나콘다로 32비트 환경을 만들어주고 라이브러리들을 설치하게 되는데, 재부팅하면 이게 다시 64bit로 되돌아가 충돌해 발생하는 에러이다.
 +
 
 +
==== 해결법 ====
 +
 
 +
=== pywintypes.com_error: (-2147221164, '클래스가 등록되지 않았습니다.', None, None) ===
 +
주식 트레이딩 따위를 사용할 때 사용하는 파이썬이 32bit이 아니어서 발생하는 에러.
 +
[[분류:윈도우 관련 라이브러리]]

2021년 10월 12일 (화) 13:38 기준 최신판

1 개요[편집 | 원본 편집]

파이크로소프트에서 개발한 Component Object Model. 컴포넌트 객체를 이용해 프로그램을 개발하는 모델.

프로그래밍언어와 상관없이 개발된 객체를 사용할 수 있게 해준다. C++같은 언어로 개발된 객체도 파이썬에서 사용할 수 있게끔.

1.1 설치[편집 | 원본 편집]

pip install pywin32로 설치할 수도 있지만, ModuleNotFoundError: No module named 'win32com' 라는 에러가 뜨기도 한다. 그럴 땐 pip이 아니라 다음의 링크로 들어가 버전에 맞는 모듈을 다운받는다.

https://github.com/mhammond/pywin32/releases 파이썬을 자동으로 찾아 설치해준다.

1.2 사용[편집 | 원본 편집]

import win32com.client

Dispatch 메서드를 사용해 MS에서 개발된 모든 어플리케이셔을 이용할 수 있다.

객체명 = win32com.client.dispatch("InternetExplorer.Application")

2 액셀 다루기[편집 | 원본 편집]

의도 설명 예시
엑셀객체생성 객체명=win32com.client.dispatch("Excel.Application")
액셀창 켜기 액셀을 실행한다.(없어도 됨) 객체명.Visible = True

2.1 워크북 및 워크시트[편집 | 원본 편집]

의도 설명 예시
워크북 생성 엑셀파일을 생성한다. 워크북 = excel.Workbooks.Add()
워크시트 생성 시트를 생성한다. 워크시트 = 워크북.Worksheets("시트명")
불러오기 워크북.excel.Workbooks.Open('c:\\주소.xlsx')
저장 워크북.SaveAs('c:\\주소.xlsx')
엑셀 종료 excel.Quit()

2.2 셀 조작[편집 | 원본 편집]

의도 설명 예시
셀 선택 셀에 값을 기입한다.

좌표는 x, -y 순으로.

워크시트.Cells(1, 1).Value = "기입할 값"
셀 선택 범위선택에 주로 쓰인다. 워크시트.Range("A1:C1").value = "기입할 값"
셀에 색 넣기 셀 선택 후 옵션기입.

컬러옵션은 구글에서 excel.application colorindex로 검색하면 나온다.

워크시트.Cells(1, 1).Interior.colorIndex= 값

3 문제해결[편집 | 원본 편집]

3.1 "ImportError: DLL load failed: %1은(는) 올바른 Win32 응용 프로그램이 아닙니다"[편집 | 원본 편집]

일반적으로 주식 트레이딩 따위를 위해 64bit 환경에서 32bit 파이썬을 사용할 때 라이브러리들의 충돌로 나타나는 메시지이다. 아나콘다로 32비트 환경을 만들어주고 라이브러리들을 설치하게 되는데, 재부팅하면 이게 다시 64bit로 되돌아가 충돌해 발생하는 에러이다.

3.1.1 해결법[편집 | 원본 편집]

3.2 pywintypes.com_error: (-2147221164, '클래스가 등록되지 않았습니다.', None, None)[편집 | 원본 편집]

주식 트레이딩 따위를 사용할 때 사용하는 파이썬이 32bit이 아니어서 발생하는 에러.