題名の通りなのですが、なかなかうまくいきません。
pywin32を使って、エクセル操作をしています。
またプログラミング素人なのでサイトの情報を取ってつけて繰り返しています。
ws.PasteSpecial(constants.xlPasteValues)
の部分でエラーが発生します。
また、ws.PasteSpecial(-4163)としても、以下のエラーメッセージが表示されます。
<module>
ws.PasteSpecial(-4163)
File "<COMObject <unknown>>", line 5, in PasteSpecial
pywintypes.com_error: (-2147352567, '例外が発生しました。', (0, 'Microsoft Excel', 'Worksheet クラスの PasteSpecial メソッドが失敗しました。', 'xlmain11.chm', 0, -2146827284), None)
python
1import time # スリープを使うために必要 2from selenium import webdriver # Webブラウザを自動操作する(python -m pip install selenium) 3import chromedriver_binary # パスを通すためのコード 4from selenium.webdriver.common.keys import Keys 5import openpyxl #エクセル用 6from openpyxl import load_workbook 7import pyperclip 8import openpyxl as xl 9import os 10import win32com.client 11import win32con 12import win32gui 13from win32com.client import Dispatch 14from win32com.client import constants 15 16 17 18xl = win32com.client.Dispatch("Excel.Application") 19 20# ファイルを開く 21wb = xl.Workbooks.Open(r"C:\Users\Iwaki\PycharmProjects\port\tinsyaku.xlsx") 22ws = wb.Worksheets("Sheet2") 23ws.Activate() 24 25# 全選択 26driver.execute_script("document.execCommand('SelectAll');") 27 28# コピー 29copy = driver.find_element_by_tag_name("body").send_keys(Keys.CONTROL, 'c') 30 31copy2 = pyperclip.paste() 32 33ws.Range("a7").select 34ws.PasteSpecial(constants.xlPasteValues) 35wb.Save() 36 37print(copy) 38print("-----------------------------------") 39print(copy2) 40 41driver.quit() # ブラウザを閉じる
回答1件
あなたの回答
tips
プレビュー