Python総合学習【活用編】

Excel操作

Excelに文字列を入力する処理について解説します。

ソース

#coding: shift_jis

import win32com.client

objXLS = win32com.client.Dispatch("Excel.Application")

objBook = objXLS.Workbooks.Add()

strFileName= "C:\\Users\\home\\Desktop\\Excel.xlsx"
objBook.SaveAs(strFileName)


objBook = objXLS.Workbooks.Open(strFileName)

objBook.Worksheets(1).Cells(1,1).Value = "Python"

objBook.Save()
objBook.Close()
objXLS.Quit()

Excel.Application

Excel操作に使用するオブジェクト

オブジェクト.WorkBooks.Add()

Excelブックを新規作成します。

オブジェクト.SaveAs(ファイル名)

Excelブックに名前を付けて保存します。

オブジェクト.WorkBooks.Open(ファイル名)

ファイル名を指定してExcelブックを開きます。

オブジェクト.Worksheets(インデックス).Cells(行,列)

左から1番目のシートのA1セルを指定します。

オブジェクト.Save()

Excelブックを上書き保存します。

オブジェクト.Close()

Excelブックを閉じます。

オブジェクト.Quit()

Excelを終了します。

Excel PDF変換

ExcelをPDF形式で出力する処理について解説します。

ソース

#coding: shift_jis

import win32com.client

objXLS = win32com.client.Dispatch("Excel.Application")
objBook = objXLS.Workbooks.Add()

strFileName= "C:\\Users\\home\\Desktop\\Excel.xlsx"
objBook = objXLS.Workbooks.Open(strFileName)

strPDFName= "C:\\Users\\home\\Desktop\\Excel.pdf"
objBook.ExportAsFixedFormat(0, strPDFName)

objBook.Close()
objXLS.Quit()

オブジェクト.ExportAsFixedFormat(出力形式,ファイル名)

出力形式
 0 : PDF形式
 1 : XPS形式

ExcelブックをPDF形式/XPS形式で出力します。

メール送信

メールを送信する処理について解説します。

ソース

#coding: shift_jis

import win32com.client

objMsg = win32com.client.Dispatch("CDO.Message")
objMsg.From = 差出人アドレス
objMsg.To = 宛先アドレス
objMsg.Subject = "タイトル"
objMsg.TextBody = "メッセージ"

strConf="http://schemas.microsoft.com/cdo/configuration/"
objFields = objMsg.Configuration.Fields
objFields(strConf+"sendusing").Value = 2
objFields(strConf+"smtpserver").Value = "smtp.gmail.com"
objFields(strConf+"smtpserverport").Value = 465
objFields(strConf+"smtpauthenticate").Value = 1
objFields(strConf+"smtpusessl").Value = "true"
objFields(strConf+"sendusername").Value = アカウント
objFields(strConf+"sendpassword").Value = パスワード
objFields.Update()
objMsg.Send()

CDO.Message

メール送信に使用するオブジェクト

オブジェクト.Send()

メールを送信します。

Webデータ収集

InternetExplorerを利用して、Webサイトのデータを収集する処理について解説します。

ソース

# coding: shift_jis

import win32com.client, time

objIE=win32com.client.DispatchEx("InternetExplorer.Application")
objIE.Visible = False

objIE.Navigate("https://www.google.co.jp")
time.sleep(1)

objIE.Document.getElementsByName("q")[0].Value="Python"
objIE.Document.getElementsByName("btnK")[0].click()
time.sleep(1)

colResult = objIE.Document.Body.getElementsByTagName("h3")

for col in colResult:
   print(col.textContent)

objIE.Quit()

input()

InternetExplorer.Application

IE操作に使用するオブジェクト

オブジェクト.Visible

IEを非表示にします。

オブジェクト.Navigate(URL)

指定したURLをIEに表示します。

オブジェクト.Document.getElementsByName(name属性値)

指定したname属性の要素を取得します。