###はじめに
編集中のExcelのセルを手軽にGoogle翻訳するためのコードです.ファイルを閉じたりファイル名を指定して実行したりするのが面倒な方向けです.
###開発環境
windows10
Python-3.9.4
使用ライブラリ pywin32, datetime, googletrans
###コード
import win32com.client
import datetime
from googletrans import Translator
translator = Translator()
#開いているExcelbookを取得.複数開いている場合最初に開いていたものが指定されるはずですが、bookは1つしか開いていない前提です.
xl = win32com.client.GetObject(Class="Excel.Application")
#ActiveSheetを取得
ws = xl.ActiveSheet
#Excelを起動したまま
xl.Visible = True
#翻訳したい列
column = "A"
#翻訳結果を書き込む列
column_result = "B"
#翻訳したい行範囲を書き込む
row_s = 3
row_e = 200
for row in range(row_s, row_e+1):
# cell : 翻訳対象のセル
# cell_result : 翻訳結果を書き込むセル
row = str(row)
cell = ws.Range(column+row)
cell_result = ws.Range(column_result+row)
# 空欄などには翻訳を実行しない
if cell.value is None:
pass
elif isinstance(cell.value,int):
pass
elif isinstance(cell.value,datetime.time):
cell.number_format = "h:mm"
pass
elif isinstance(cell.value,datetime.datetime):
cell.number_format = "yyyy/m/d"
pass
else:
cell_result.value = translator.translate(str(cell.value),src="en", dest="ja").text